整个过程十分简单!我认为原因在于NetBSD是一个完整的OS。
下面是过程的详细描述(由于NetBSD本身优秀的生成框架,所以步骤不多,我能做的只有把说明说详细些,说罗嗦些,呵~)
制作的host环境,随便,既:可以是NetBSD自己,也可以是FreeBSD,Linux都可以,方法都一样。
目标运行环境s3c2410芯片的开发版(我试验了两块,但并不保证所有板子都可以无修改的运行)
引用:在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下也有一份
引用:交叉编译器
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
引用:编译内核(一些详细的说明过一会说明,这里仅仅是步骤)
由于NetBSD已经移植了三星s3c2410芯片的smdk2410开发版的代码,所以我们的过程就十分简单。
【中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页】