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

[root@centos7 data]# yum install gcc gcc-c++ glibc glibc-devel  pcre pcre-devel  \
openssl openssl-desystemd-devel zlib-devel  glibc-static ncurses-devel wget

[root@centos7 data]# tar xf busybox-1.30.0.tar.bz2  
[root@centos7 data]# cd busybox-1.30.0 
[root@centos7 busybox-1.30.0]make menuconfig  
[root@centos7 busybox-1.30.0] make && make install
    ##按下面選擇,把busybox編譯爲靜態二進制、不用共享庫
             Busybox Settings -->Build Options -->[*] Build BusyBox   as a static binary (no shared
libs) 之後保存退出 --> exit --> exit --> yes

Linux內核+Busybox自制linux系統
安裝成功
Linux內核+Busybox自制linux系統

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爲根分區 這裏不寫詳細步驟了

Linux內核+Busybox自制linux系統Linux內核+Busybox自制linux系統Linux內核+Busybox自制linux系統

三、安裝bootloader和grub、內核文件

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

[root@centos7 busybox-1.30.0]# cp  /boot/vmlinuz-3.10.0-957.el7.x86_64     /mnt/boot/ 
[root@centos7 busybox-1.30.0]# cp /boot/initramfs-3.10.0-957.el7.x86_64.img  /mnt/boot/ 
[root@centos7 busybox-1.30.0]# cp  _install/* /mnt/sysroot/   將busybox下_install文件複製到/mnt/sysroot

Linux內核+Busybox自制linux系統

[root@centos7 ~]#vi /etc/default/grub  
        修改/etc/default/grub在最後一行添加
        GRUB_DISABLE_LINUX_UUID=true

[root@centos7 ~]#grub2-mkconfig > /mnt/boot/grub2/grub.cfg
     刪除之前添加在/etc/default/grub的那一行以免影響現有系統 

Linux內核+Busybox自制linux系統

到此自制系統已經完成下面開始驗證  
新建一個空白虛擬機,將原有的磁盤刪除,不然bios會默認從第一塊硬盤尋找系統

Linux內核+Busybox自制linux系統

添加新硬盤

Linux內核+Busybox自制linux系統

Linux內核+Busybox自制linux系統

成功開機,裏面的命令來自於busybox  

Linux內核+Busybox自制linux系統Linux內核+Busybox自制linux系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章