學習啦>學習電腦>操作系統(tǒng)>Linux教程>

基于initrd鏡像的minilinux介紹

時間: 若木635 分享

  基于initrd鏡像的minilinux

  制作鏡像文件系統(tǒng)的linux主要是讓鏡像文件可以像文件系統(tǒng)一樣初始化,用BusyBox 可以輕松實現。

  BusyBox 最初是由 Bruce Perens 在 1996 年為 Debian GNU/Linux 安裝盤編寫的。其目標是在一張軟盤上創(chuàng)建一個可引導的 GNU/Linux 系統(tǒng)。要想讓initrd當作一個文件系統(tǒng)啟動,保留編譯busybox時生成的linuxrc即可?,F在用cpio鏡像initramfs時要將linuxrc改名為init。

  drwxr-xr-x 2 root root 4096 11月 24 15:28 bin

  rwxrwxrwx 1 root root 11 11月 24 15:28 linuxrc -> bin/busybox

  drwxr-xr-x 2 root root 4096 11月 24 15:28 sbin

  這樣當內核加載后,加載鏡像時可以保證首先執(zhí)行busybox。busybox會執(zhí)行其默認的/sbin/init來初始化系統(tǒng)。

  /linuxrc或/init可以是腳本文件,但最后要用“exec /sbin/init”來啟動系統(tǒng)初始化程序。

  tinycore linux init示例

  tinycore是一個含桌面的10M左右的linux,包含內核。其系統(tǒng)鏡像才8M左右,功能很多。不含桌面的ISO文件才6 M左右。

  #!/bin/sh

  mount proc

  grep -qw multivt /proc/cmdline && mv /etc/inittab-save /etc/inittab

  if grep -qw embed /proc/cmdline; then

  umount proc

  exec /sbin/init

  fi

  umount proc

  if mount -t tmpfs -o size=90% tmpfs /mnt; then

  if tar -C / --exclude=mnt -cf - . | tar -C /mnt/ -xf - ; then

  mkdir /mnt/mnt

  exec /sbin/switch_root mnt /sbin/init

  fi

  fi

  exec /sbin/init

基于initrd鏡像的minilinux介紹

基于initrd鏡像的minilinux 制作鏡像文件系統(tǒng)的linux主要是讓鏡像文件可以像文件系統(tǒng)一樣初始化,用BusyBox 可以輕松實現。 BusyBox 最初是由 Bruce Perens 在 1996 年為 Debian GNU/Linux 安裝盤編寫的。其目標是在一張軟盤上創(chuàng)建一個
推薦度:
點擊下載文檔文檔為doc格式
75395