Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15236
  • 博文数量: 5
  • 博客积分: 1480
  • 博客等级: 上尉
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-19 21:23
文章分类
文章存档

2011年(1)

2010年(3)

2009年(1)

我的朋友
最近访客

分类:

2009-08-19 23:00:54

   今天开博,先转一篇文章。学习嵌入式操作系统,最先要进行的就是系统源码的编译,而uClinux编译又有些需要注意的地方。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------
首先把uClinux下载回来,下载地址:
然后再根据网站里的说明建立一个交叉编译环境:
先把arm-elf-tools安装好,然后再编译uClinux即可:
[ljjk @localhost root]#wget 
[ljjk @localhost root]#wget 
[ljjk @localhost root]#chmod 777 arm-elf-tools-20030314.sh
[ljjk @localhost root]#./arm-elf-tools-20030314.sh
[ljjk @localhost root]#tar zxvf uClinux-dist-20051110.tar.gz
[ljjk @localhost root]#cd uClinux-dist
[ljjk @localhost uClinux-dist]#make mrproper
[ljjk @localhost uClinux-dist]#vi linux2.4.x/arch/armnommu/vmlinux-armv.lds.in
在__sto__kallsyms = ,;
*(.got)后面加上:
romfs_data = .;
romfa.o
romfs_data.end = .;
然后wq退出
这一步如果不做,编译的时候会出现点小问题,我便宜的时候提示过romfs_data出错。
[ljjk @localhost uClinux-dist]#vi vendors/Samsung/4510B/Makefile
在genromfs -v -V "ROMdisk" -f $(ROMFSIMG) -d $(ROMFSDIR)的下一行加入
arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG)
然后wq保存退出
[ljjk @localhost uClinux-dist]#make menuconfig
时出现一个选择菜单,移动到第一个选项高亮,然后按回车进入,这时有两个可选项,一个是第二行,一个是第四行,第二行是用来选择支持的产品结构的(就是我
们平时说的硬件平台),第四行是用来选择Products的!分别选择samsung,和4510B,因为这两个在我们中用的是比较多的!
然后选择Exit回到主菜单,把高亮调到Kernel/Library处,进入。kernel选择2.4.x的即可,lib库选择uC-libc,如果不行的话则改为uClibc。,然后Exit之后再Exit,弹出提示,选择yes保存即可。
[ljjk @localhost uClinux-dist]#make dep
[ljjk @localhost uClinux-dist]#make lib_only
[ljjk @localhost uClinux-dist]#vi config/.config
然后将"CONFIG_USER_OLD_PASSWORDS=y"注释掉"#CONFIG_USER_OLD_PASSWORDS=y"
[ljjk @localhost uClinux-dist]#make user_only
[ljjk @localhost uClinux-dist]#make romfs
[ljjk @localhost uClinux-dist]#make image
如果这一步提示错误,可以执行下面一步
[ljjk @localhost uClinux-dist]#make
这样就会在image下生成我们想要的文件。
[ljjk @localhost uClinux-dist]ls romfs
bin dev etc home lib mnt proc sbin tmp usr var doc written by  1jjk
[ljjk @localhost uClinux-dist]ls image
image.bin linux.data  linux.text  romfs.img
到这里就完成了编译的工作。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------
   其实在编译内核的时候并不是这么顺利,遇到过很多问题。比如因为交叉编译环境没编译好而导致源码编译的时候总是出问题,还有对于上面文件的修改错误而导致总是报错。由于是刚开始,这些错误即使看见了也不知道怎么回事,后来通过在网上查找资料渐渐的也就熟悉了。记下这篇文章以便查阅
阅读(926) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:中国人应该记住的日子

给主人留下些什么吧!~~