下载内核:https://www.kernel.org/
下载busybox:http://www.busybox.net/
下载到家目录解压源码包到/usr/src目录下:
到/usr/src目录下创建软连接:
准备编译环境:
yum安装包组 “ServerPlatform Development” 和“Development tools”
yum groupinstall"Server Platform Development" "Development tools"
到linux目录下执行make allnoconfig清空所有内核选项然后执行make menuconfig
打开配置界面后根据自己硬件选择适合的驱动,要支持cpu,支持多线程,支持scsi接口,支持文件系统,支持TCP/IP协议栈,支持键盘等线性设备,根据自己的需求选择。
选择好后保存退出,执行makebzImage编译内核可用 –j # 开启多线编译程速度更快
编译busybox:
cd /usr/src/busybox
make menuconfig
进入配置界面 选中Busybox Settings--->Build Options ---> BuildBusyBox as a static binary (no shared libs)
其余选项可以保持默认。
yum安装glibc-static包
yuminstall glibc-static 然后执行make编译busybox
准备第二块硬盘然后将编译好的内核和busybox放到指定目录下
第二块硬盘分两个区做成ext4文件系统并挂载到/mnt/boot和/mnt/sysroot下:
mkfs -t ext4 /dev/sdb1 创建文件系统
mkfs -t ext4 /dev/sdb2 创建文件系统
mkdir /mnt/boot 创建目录
mkdir /mnt/sysroot 创建目录
mount /dev/sdb1 /mnt/boot 挂载分区1
mount /dev/sdb2 /mnt/sysroot 挂载分区2
为第二块硬盘创建grub:
将内核复制到/dev/sdb1,busybox复制到/dev/sdb2并创建必要的目录
cp /usr/src/linux/arch/x86/boot/bzImage /mnt/boot
cp/usr/src/busybox/_install/* /mnt/sysroot
创建grub.conf文件
vim/mnt/boot/grub/grub.conf
内容如下:
default=0
timeout=5
title mylinux
root (hd0,0)
kernel /bzImage ro root=/dev/sda2init=/sbin/init
创建inittab文件 vim /mnt/sysroot/etc/inittab
创建rc.sysinit文件 vim/mnt/sysroot/etc/rc.d/rc.sysinit