linux怎样自制库_如何制作自己的LINUX系统?
創建工作目錄
使用busybox生成根文件系統中的bin等目錄
創建服務啟動腳本與inittab文件與fstab文件
創建根文件系統的init腳本(initrc使用linuxrc,而initramfs使用init腳本,所以先刪除busybox為initrc生成的默認的linuxrc文件,rm-rf$LINUX/linuxrc),init文件可以是任何ELF格式的可執行性文件,例如如果是一個編譯過的C程序也是可以的,記得安裝編譯c文件要用到的庫:sudoyum install -y glibc-static libstdc++-static。
使用chroot在未make內核之前就可以先測試initramfs
構建initramfs,先配置支持Generalsetup -> Initial RAM filesystem and RAM disk (initramfs/initrd)support (默認就是支持的),再將linux內核的CONFIG_INITRAMFS_SOURCE(Generalsetup -> initramfs sourcefile(s))指向這個目錄,然后執行make命令內核就會自動構建生成initramfs了(是一個壓縮過的cpio檔案文件),并且將它鏈接到內核鏡像中。
調試驗證。可以使用物理機驗證,也可以采用qemu虛機驗證。如果使用物理機來驗證的話,本來可以直接使用makeinstall命令自動安裝,但最好不要這么做,因為它會自動執行updategrub命令來破壞你的grub文件,可以手工做:
initramfs是一個最小化的根文件系統,它的根本目的是為了為切換到新的根文件系統做準備。initrd方式使用pivot_root命令切換到新的根文件系統,然后卸載ramdis,但是initramfs方式由于它是本身就是rootfs(rootfs是ramfs的一個實例)位于內存中,所以它既不能pivot_root,也不能umount,是常駐內存的。
對模塊的支持,到目前為止,我們在構建initramfs時還沒有涉及內核模塊的支持,所用到的硬件驅動程序都是直接編譯到內核中。現在我們就看看如何使initramfs支持內核模塊。
總結
以上是生活随笔為你收集整理的linux怎样自制库_如何制作自己的LINUX系统?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 申请浦发瑞幸咖啡联名卡有哪些条件?如何申
- 下一篇: linux中创建目录树,如何在C/Lin