定制linux内核并编译busybox

                       

 

  下载内核:https://www.kernel.org/

  下载busyboxhttp://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

技术分享


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。