国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

制作自己的Floppy-Linux Step By Step

2024-07-21 02:36:51
字體:
來源:轉載
供稿:網友

  1. 軟盤上安裝引導器(grub)
  
  一般制作軟盤上跑的linux引導器都使用syslinux這個工具(這個工具不支持ext2分區格式,只能支持fat分區格式),因為我對grub比較熟悉,并且我在軟盤上安裝grub只用了132KB空間,不是很耗磁盤空間。
  具體操作如下:
  
  # mke2fs /dev/fd0
  
  創建了 ext2 文件系統后,需要安裝該文件系統:
  
  # mount /dev/fd0 /mnt/floppy
  
  現在,需要創建一些目錄,并將一些要害文件(原先安裝 GRUB 時已安裝了這些文件)復制到軟盤:
  
  # mkdir /mnt/floppy/boot
  # mkdir /mnt/floppy/boot/grub
  # cp /boot/grub/stage1 /mnt/floppy/boot/grub
  # cp /boot/grub/stage2 /mnt/floppy/boot/grub
  
  再有一個步驟,就能得到可用的引導盤。
  
  在linux bash中,從 root 用戶運行“grub”,該程序非常有趣并值得注重,因為它實際上是 GRUB 引導裝入器的半功能性版本。盡管 Linux 已經啟動并正在運行,您仍可以運行 GRUB 并執行某些任務,而且其界面與使用 GRUB 引導盤或將 GRUB 安裝到硬盤 MBR 時看到的界面(即GRUB控制臺)完全相同。
  
  在 grub> 提示符處,輸入:
  
  grub> root (fd0)
  grub> setup (fd0)
  grub> quit
  
  現在,引導盤完成了。
  
  2. 安裝根文件系統:
  
  一套linux系統要正常啟動,根文件系統要包括下列文件夾:
  
  /bin /etc /PRoc /tmp /var /dev /mnt
  
  要包括下列基本的設備文件:
  
  /dev/console /dev/fd0 /dev/null /dev/ram0 /dev/tty /dev/tty0
  
  要包括下列配置文件:
  
  /etc/rc.d/inittab /etc/rc.d/rc.sysinit /etc/fstab
  
  要實現基本的功能,還要包括一些常用工具:
  
  如:sh,ls,cd,cat……
  
  其中,前面三個部分不要多少空間的,但是常用工具會占用很多空間,要是用原來系統中的這些命令,就是全部用靜態編譯,不是用動態連接庫,大概有2MB~3MB,放不進軟盤。網絡上解決的方案是使用BusyBox工具。具體可以到官方網站:www.busybox.net看看。
  
  下載BusyBox工具的源代碼,編譯:
  
  注重:
  
  (1) 譯的時候要靜態編譯,修改 Makefile 中的 DOSTATIC 參數,從false 改為 true,這樣,編譯出來的代碼就不要依靠glibc了。
  
  (2) 因為我們用的是 BusyBox 上的 init,與一般所使用的 init 不太一樣,會先執行 /etc/init.d/rcS 而非 /etc/rc.d/rc.sysinit,為了做出來的 FloppyLinux 架構與 Redhat 的架構一樣,所以修改了 BusyBox 中的 init.c底下是修到的部分內容∶
  
  #ifndef INIT_SCRipT
  #define INIT_SRCIPT "/etc/rc.d/rc.sysinit"
  #endif
  
  具體操作如下:
  
  (1) 官方網站上下載BusyBox的最新版本:busybox-0.60.5.tar.gz解開,按照上面的注重點修改源代碼
  
  (2) 運行下列命令:
  
  #make
  #make install
  
  (3) 譯好的可勢行文件放在 ./_install 文件夾里的。
  
  #cp ./_install /tmp/floppy-linux -r
  
  (4) 動建立其它的文件或文件夾:
  
  
  #cd /tmp/floppy-linux
  # mkdir dev etc etc/rc.d proc mnt tmp var
  # chmod 755 dev etc etc/rc.d bin mnt tmp var
  # chmod 555 proc
  # cd dev
  # mknod tty c 5 0
  # mknod console c 5 1
  # chmod 666 tty console
  # mknod tty0 c 4 0
  # chmod 666 tty0
  # mknod ram0 b 1 0
  # chmod 600 ram0
  # mknod fd0 b 2 0
  # chmod 600 fd0
  # mknod null c 1 3
  # chmod 666 null
  
  
  
  (5) 建啟動配置文件:(inittab,rc.sysinit,fstab)
  
  initab:
  ::sysinit:/etc/rc.d/rc.sysinit
  ::askfirst:/bin/sh
  rc.sysinit:
  #!/bin/sh
  mount -a
  # chmod 755 rc.sysinit
  fstab:
  proc /proc proc defaults 0 0
  
  (6) 作Ramdisk的鏡像文件:
  
  
  # dd if=/dev/zero of=/tmp/initrd bs=1k count=4096
  # losetup /dev/loop0 /tmp/initrd
  # mke2fs -m 0 /dev/loop0>
  # mount -t ext2 /dev/loop0 /mnt
  # cp -r /tmp/floppy-linux/* /mnt
  # umount /mnt
  # losetup -d /dev/loop0
  # dd if=/tmp/initrd gzip -9 > /tmp/initrd.gz
  # rm -f /tmp/initrd
  # sync
  
  
  
  3.編譯內核:
  
  這部分內容不具體講述,主要是去掉了一些不需要的選項,減小內核,編譯出來的內核是725920Byte。
里面包含了必要的網卡驅動和網絡協議棧。
  
  4.整合啟動盤
  
  現在所用到了的東西全部搞好了,下面就是整合一下:
  
  全部文件(文件夾)如下:
  
  /lost+found/
  /boot/
  /boot/grub/
  /boot/grub/stage1 =========èGrub啟動時用到的兩個文件
  /boot/grub/stage2
  /boot/grub/menu.lst =========èGrub的配置文件指向grub.conf
  /boot/grub/grub.conf
  /boot/kernel =============è內核
  /initrd.gz ===============è內存鏡像文件
  
  這樣這張軟盤就能啟動一套Linux系統了,占用1.213MB。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨竹工卡县| 石嘴山市| 东平县| 兴文县| 象州县| 界首市| 阜平县| 闽侯县| 方城县| 荔波县| 探索| 康马县| 临澧县| 顺平县| 海晏县| 家居| 满城县| 西畴县| 三明市| 马边| 乐昌市| 浪卡子县| 外汇| 舟山市| 石狮市| 梓潼县| 资中县| 赤水市| 南雄市| 焦作市| 长丰县| 和平区| 吴川市| 孟津县| 油尖旺区| 德保县| 家居| 福海县| 福海县| 南澳县| 天峻县|