解压uClinux cd /usr/src/uClinux-dist/ tar zxvf /root/uClinux/uClinux-dist-20040408.tar.gz vi /usr/src/uClinux-dist/linux-2.4.x/arch/armnommu/vmlinux-armv.lds.in 在65行* (.got) /* Global offset table */ 下面加入三行 romfs_data = .; romfs.o romfs_data_end = .; 保存退出 vi /usr/src/uClinux-dist/vendors/Samsung/4510B/Makefile 在65行 genromfs -v -V "ROMdisk" -f $(ROMFSIMG) -d $(ROMFSDIR) 下面加入一行 arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG) 开始编译 make menuconfig/xconfig 随便 │ │ (Samsung/4510B) Vendor/Product │ │ │ │ (linux-2.4.x) Kernel Version │ │ │ │ (uClibc) Libc Version │ │ │ │ [ ] Default all settings (lose changes) │ │ │ │ [ ] Customize Kernel Settings │ │ │ │ [ ] Customize Vendor/User Settings │ │ │ │ [ ] Update Default Vendor Settings │ │ 保存退出
make dep make lib_only 编译user_only之前先修改 /usr/src/uClinux-dist/config/.config文件 将25行 CONFIG_USER_OLD_PASSWORDS=y 注释掉, 接着删除掉/usr/src/uClinux-dist/user/boa/src下的所由.o的文件 rm -rf /usr/src/uClinux-dist/user/boa/src/*.o 否则会在编译时会产生一个错误 make user_only make romfs make 此时遇到错误就编辑一下init.c vi linux-2.4.x/arch/armnommu/mm/init.c 将662行的 !machine_is_ta7v() && 注释掉, 然后再make make image 要建立uClinux-ARM的交叉编译环境就只要再从http://www.uclinux.org/pub/uClinux/arm-elf-tools/ 上下载ARM交叉编译器:arm-elf-tools-20030314.sh就行了 ./arm-elf-tools-20030314.sh 这个命令会在开发主机上自动建立一个uClinux-ARM的交叉编译环境。 [root@YuChou uClinux-dist]# arm-elf-gcc -v Reading specs from /usr/local/lib/gcc-lib/arm-elf/2.95.3/specs gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/) 这样,uClinux-ARM的交叉编译环境已经建立起来了
|