- 论坛徽章:
- 0
|
首先把uClinux下载回来,下载地址:http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20051110.tar.gz
然后再根据网站里的说明建立一个交叉编译环境:http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/arm-elf-tools-20030314.sh
先把arm-elf-tools安装好,然后再编译uClinux即可:
- [ljjk @localhost root]#wget http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20051110.tar.gz
- [ljjk @localhost root]#wget http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/arm-elf-tools-20030314.sh
- [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,和5410B,因为这两个在我们中用的是比较多的!
然后选择Exit回到主菜单,把高亮调到Kernel/Library处,进入。kernel选择2.4.x的即可,lib库选择uClibc,切记,不是uC-libc。,然后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
复制代码
到这里就完成了编译的工作。
给个成功案例图:
![]()
[ 本帖最后由 1jjk 于 2006-7-24 20:59 编辑 ] |
|