制作嵌入式芯片s3c2410板卡的NetBSD启动镜像
2006-08-09 22:59:14 来源:WEB开发网在~/sets里删除不需要的东西 (附件里我贴出一份我自己的文件列表,包括vi编辑器,gcc编译器和最基本的头文件)
cd ~
nbmakefs -s 3m -t ffs image ~/sets
#-s(ize) 3m; -t(ype) ffs 。从sets目录生成一个3m的名为image的文件。首先需要保证sets下的文件总共小于等于3m(用du察看)。制作大文件后面再说。
这样,我们也做好了一份ramdisk。
引用:把ramdisk和内核拼到一起
cd ~
cp /usr/src/sys/arch/evbarm/compi..../netbsd . #把你在第三步编译的内核考到home里,便于我们操作
arm--netbsdelf-mdsetimage -sv netbsd image #把第四步制作的image拷贝到内核里面(见补充:2)
arm--netbsdelf-objcopy -S -O binary netbsd netbsd.bin #去掉一些不必要的信息,生成一个可以直接执行的二进制镜像
ok,至此,我们的工作全部完成。把netbsd.bin download到你的板子上试试。
补充:1 关于交叉编译器。
这个编译器是一个完整的交叉编译环境。把执行目录放到path里面就可以直接使用。比如,在FreeBSD6.1下面编译Linux2.6.16的内核,只需要:
gmake ARCH=arm CROSS_COMPILE=arm--netbsdelf- menuconfig
gmake ARCH=arm CROSS_COMPILE=arm--netbsdelf-
....
既可(我可以在FreeBSD6.1和Zenwalk Linux2.6.16编译出Linux内核,但是在编译boot的时候出现问题,但是问题与编译环境无关)
-m参数所支持的平台,全部可以在build.sh脚本里的getarch()函数里找到。
更多精彩
赞助商链接