制作嵌入式芯片s3c2410板卡的NetBSD启动镜像

2009-05-13 07:14:39来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


http://bbs.chinaunix.net/viewthread.php?tid=801055&highlight=gvim

Composed by gvim from chinaunix, keep its integrality when copied. 3Q
最近事很多,抽时间在arm9的s3c2410a上跑了一把NetBSD3.0。参考了网上一些资料,尤其是一个韩国的网站(看不懂啊,蝌蚪文),我把过程详细记录下来,以滋同好。
整个过程十分简单!我认为原因在于NetBSD是一个完整的OS。
下面是过程的详细描述(由于NetBSD本身优秀的生成框架,所以步骤不多,我能做的只有把说明说详细些,说罗嗦些,呵~)
制作的host环境,随便,既:可以是NetBSD自己,也可以是FreeBSD,Linux都可以,方法都一样。
目标运行环境s3c2410芯片的开发版(我试验了两块,但并不保证所有板子都可以无修改的运行)
1
QUOTE:

ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/source/sets/
下载netbsd的源代码,包括src.tgz, syssrc.tgz, gnusrc.tgz, share.tgz
% foreach file (*.tgz)
?   tar -xzf $file -C /
? end                       #解压缩所有元码文件到/usr/src目录
src.tgz是/usr/bin, /usr/sbin, /bin, /sbin下工具,/lib /libexec库文件等等的源代码
syssrc.tgz是NetBSD系统的内核源代码
gnusrc.tgz是gnu社区的软件的源代码,包括gcc编译器,gdb调试器,binutils等等工具,以及这些Gnu工具所需要的库
share.tgz包含了makefile所需要的编译控制文件,在/usr/share/mk下也有一份
2
QUOTE:
交叉编译器
cd /usr/src
mkdir ../obj
./build.sh -mevbarm tools
交叉编译arm交叉编译器(见补充:1),-m选项是告诉build.sh我们需要的是arm的编译器。
这步之后在/usr/src下生成一个tooldir.xx文件夹。
我是在FreeBSD6.1下编译的,所以该文件夹名为tooldir.FreeBSD-6.1-RELEASE-i386。
在Zenwalk Linux下的名字是tooldir.Linux-2.6.16-unknow-i386
默认生成的是4.1.2,如果需要使用3.3.3的编译器,可以在/etc/mk.conf(可能需要手动建立)中添加HAVE_GCC=3
在~/.cshrc中set path最后添加:/usr/src/tooldir.FreeBSD-6.1-RELEASE-i386/bin,这样,一个完整的交叉编译环境就已经搭建好了。不要忘了tcsh需要rehash
3
QUOTE:
编译内核(一些详细的说明过一会说明,这里仅仅是步骤)
由于NetBSD已经移植了三星s3c2410芯片的smdk2410开发版的代码,所以我们的过程就十分简单。
cd /usr/src
vi sys/arch/evbarm/conf/SMDK2410  
#我自己的并没有怎么调整,只是打开了一些调试开关。注意一定要保留options COMPAT_30选项(如果有的话)
./build.sh -mevbarm -u kernel=SMDK2410_INSTALL  #注意这里是_INSTALL
这样,在/usr/obj/sys/arch/evbarm/compile/SMDK2410_INSTALL目录下的netbsd就是我们的内核
4
制作ramdisk
该步十分简单,但是十分繁琐。
十分偷懒的一个方法了,呵呵。(如果你有兴趣知道麻烦的制作方法,欢迎与我联系探讨)
QUOTE:

ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/evbarm/binary/sets/
下载base.tgz和etc.tgz两个包,如果你需要编译工具也可以下载comp.tgz 别人已经帮我们编译完了,我们麻烦的自己编译干什么

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:NetBSD LKM简单分析

下一篇:FreeBSD设备驱动(1) - 基础