基于BusyBox与红帽2.6.38.5内核制作微型系统
编译制作之前要准备好开发工具即 "Development Tools" "Development Libraries",前面都已做过介绍这里就不多说了详细了解请点击这里;这次实验流程操作使用的是vm9虚拟机,所以大家在操作时速度建议不要过快,并且要多多sync(切记)
实验中所有工具的下载地址 首先编译红帽2.6.38.5内核 tar xf linux-2.6.38.5.tar.bz2 —C /usr/src/ 创建一个链接 ln -sv linux-2.6.38.5/ linux 配置内核提供./config文件(这里提供了一个样本,名称是kernel-2.6.38.1-i686.cfg) cd linux 在直接将此样本重命名为./config mv kernel-2.6.38.1-i686.cfg ./config make menuconfig(根据自己的需要对驱动,文件系统及网络做选择性的配置,其中我在配置的时候直接把ext3做成了内核模块) 开始编译 make SUBDIR=arch/ 当编译完成后,提供微型系统新内核 (编译需要一段时间,这里的顺序只是为了方便阅读,自己操作时,可先做下面的步骤,等到编译完成后再进行复制内核) 提供内核 cp /usr/src/linux/arch/x86/boot/bzImage /mnt/boot/vmlinz 准备grub 安装grub: grub-install --root-directory=/mnt/ /dev/hda 配置grub.conf vim /mnt/boot/grub/grub.conf default=0 timeout=5 title My Linux (2.6.18) root(hd0,0) kernel /vmlinuz ro root=/dev/hda2 initrd /initrd.gz 提供initrd即编译使用Busybox 编译前准备操作 tar xf busybox-1.20.2.tar.bz2 -C /root/ mkdir busybox-1.20.2/include/mtd cp /usr/src/linux/include/mtd/ubi-user.h busybox-1.20.2/include/mtd(复制2.6.38内核的头文件) 编译busybox cd busybox-1.20.2 make menuconfig (这其中不需要更改太多,把编译选项改一下即可,编译成一个二进制文件方便 移植) make install cd _install/ (编译完成后进入这个目录) rm -rf linuxrc (删除自动为我们创建的链接文件) mkdir /tmp/initrd (自行创建一个目录,把_install文件复制到这里,一切配置在这里更改) cp busybox-1.20.2/_install/* /tmp/initrd cd /tmp/initrd mkdir proc sys mnt/sysroot dev tmp lib/modules etc -pv (创建基本目录) mknod dev/console c 5 1 (创建设备文件) mknod dev/null c 1 3
(编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |