Linux内核+Busybox自制linux系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内核+Busybox自制linux系统相关的知识,希望对你有一定的参考价值。

实验环境
1、centos7图形化界面安装  
2、busybox:busybox-1.30.0.tar.bz2   
   官网  https://busybox.net  
   下载地址:https://busybox.net/downloads/busybox-1.30.0.tar.bz2
3、一块新添加的硬盘
Busybox 是一个开源项目,遵循GPL v2协议。Busybox将众多的UNIX命令集合进一个
很小的可执行程序中,其中包括了三百多个最常用Linux命令和工具   

一、编译安装busybox

[[email protected] data]# yum install gcc gcc-c++ glibc glibc-devel  pcre pcre-devel  openssl openssl-desystemd-devel zlib-devel  glibc-static ncurses-devel wget

[[email protected] data]# tar xf busybox-1.30.0.tar.bz2  
[[email protected] data]# cd busybox-1.30.0 
[[email protected] busybox-1.30.0]make menuconfig  
[[email protected] busybox-1.30.0] make && make install
    ##按下面选择,把busybox编译为静态二进制、不用共享库
             Busybox Settings -->Build Options -->[*] Build BusyBox   as a static binary (no shared
libs) 之后保存退出 --> exit --> exit --> yes

技术图片
安装成功
技术图片

busybox的使用有三种方式:
         busybox后直接跟命令,如 busybox ls
        直接将busybox重命名,如 cp busybox tar
        创建符号链接,如 ln -s busybox rm
以上方法中,第三种方法最方便,但为busybox中每个命令都创建一个软链接,
相当费事,busybox提供自动方法:busybox编译成功后,执行make install,则会
产生一个_install目录,其中包含了busybox及每个命令的软链接

二、添加新硬盘并分区

新添加的硬盘要保存为单个文件,并记录具体保存路径
添加后扫描到磁盘并分区格式化,至少分2个分区,/dev/sdb1为boot分区,/dev/sdb2为根分区 这里不写详细步骤了

技术图片技术图片技术图片

三、安装bootloader和grub、内核文件

[[email protected] busybox-1.30.0]# grub2-install --root-directory=/mnt /dev/sdb    安装grub1阶段和1.5阶段  
[[email protected] busybox-1.30.0]# hexdump -C -n 512 /dev/sdb   查看bootloader
[[email protected] busybox-1.30.0]# grub2-mkconfig > /mnt/boot/grub2/grub.cfg   grub阶段

[[email protected] busybox-1.30.0]# cp  /boot/vmlinuz-3.10.0-957.el7.x86_64     /mnt/boot/ 
[[email protected] busybox-1.30.0]# cp /boot/initramfs-3.10.0-957.el7.x86_64.img  /mnt/boot/ 
[[email protected] busybox-1.30.0]# cp  _install/* /mnt/sysroot/   将busybox下_install文件复制到/mnt/sysroot

技术图片

[[email protected] ~]#vi /etc/default/grub  
        修改/etc/default/grub在最后一行添加
        GRUB_DISABLE_LINUX_UUID=true

[[email protected] ~]#grub2-mkconfig > /mnt/boot/grub2/grub.cfg

技术图片

到此自制系统已经完成下面开始验证



新建一个空白虚拟机,将原有的磁盘删除,不然bios会默认从第一块硬盘寻找系统

技术图片

添加新硬盘

技术图片

技术图片

成功开机,里面的命令来自于busybox  

技术图片技术图片

以上是关于Linux内核+Busybox自制linux系统的主要内容,如果未能解决你的问题,请参考以下文章

自制linux

制作busybox完成自制Linux系统及远程登录和nginx安装测试

Linux系统裁剪之四(自定义内核及busybox完成系统定制)

linux内核与文件系统的衔接关系

从开始到结束,手把手教你使用busybox构建类嵌入式Linux系统

使用 linux kernel +busybox 定制linux系统