制作嵌入式芯片s3c2410板卡的NetBSD启动镜像
2006-08-09 22:59:14 来源:WEB开发网不过它的make使用的是bmake,正确的方法是用nbmake-evbarm:
如:
引用:cd /usr/src/sys/arch/evbarm/conf
nbconfig SMDK2410_INSTALL
cd ../compile/SMDK2410_INSTALL
nbmake-evbarm depend
nbmake-evbarm
这样和第3步一样,也是编译交叉内核。nbmake-evbarm是一个wapper文件,可以用vim等编辑器在/usr/src/tooldir.xxx/bin下面察看。
而编译Gnu的一些软件时需要使用gmake,如上面的Linux内核编译。
如果新入门的朋友对于制作交叉编译器觉得很麻烦,或是出现恼火的问题,不妨用NetBSD的代码和build.sh来做。除了 arm--netbsdelf- 和 arm--linux- 名字不同外,其余方面在我所使用的地方还没见到不同。
补充:2 关于ramdisk的~/sets目录的制作
这个东西要深入的讲的话涉及的东西也不少,我这里就不打算写的太麻烦。
引用:1) 其实就是用ldd看动态库,但是这玩意比较麻烦,因为i386 host上不能执行arm的ldd。(附件里面给出我自己的文件列表)
我的方法比较笨,把我需要的命令,不管能不能运行,先做成一个image运行,然后在arm自己的运行环境里用ldd一个一个找。如果你有好方法请告诉我。
反正我用的命令不多,所以笨点也无所谓了,嘿嘿
引用:2) ramdisk的大小是严格要求的,在conf/INSTALL文件(该文件由SMDK2410_INSTALL包含进去)中有一句MEMORY_DISK_ROOT_SIZE=6150,它是以512字节的快形式给出,具体的换算是6150*512/1024 = 6150/2 =3075k 稍微大于3m(所以我们在第4步的nbmakefs 的时候 -s参数给的是3m),这里内核本身预留的空间至少要大于后等于nbmakefs产生的ramdisk大小。
更多精彩
赞助商链接