扫一扫
关注微信公众号

从USB移动硬盘上引导Portable Linux详解3
2007-07-28   网络

以上也有补充:sleep也可以由BusyBox取代,虽说下载一个BusyBox再编译多一些功夫,可是我还是很开心地编译了BusyBox并把它复制到newinitrd 的 bin目录下,并给它建了几个有用的链接,以下是用BusyBox的可选过程,就不用上面的sleep了:

  (先进到newinitrd/bin下)

  #cp /root/busybox-1.6.0/busybox . (这里是我下载的busybux,并编译了支持ash,一个小型的shell)

  #ln -s busybox ash

  #ln -s busybox sleep

  可以试一下整个newinitrd目录作为根的效果了:

  #cd (回到用户目录下)

  #chroot newinitrd /bin/ash

  BusyBox v1.6.0 (2007-06-12 22:55:20 CST) Built-in shell (ash)

  Enter 'help' for a list of built-in commands.

  # exit

  退出回到原来的bash和原来的根上面。(busybox同样依赖于ld-linux.so.2和libc.so.6,请参考上面的方法把依赖的库文件复制到lib目录下)

  第九:修改newinitrd目录下的init脚本,让它启动运行时正确依次加载文件系统支持模块、scsi支持模块、scsi-disk支持模块、usb支持模块、usb-storage支持模块、USB1.0/1.1总线驱动、USB2.0总线驱动,并在总线驱动的加载之间延时等待设备连入总线、发现与就序。由于usb驱动需要使用proc文件系统,还要确保先向根挂载了proc文件系统。

  #cd ……(回到newinitrd目录下)

  #vi init 开始修改:

  以下是我的init文件,请不要直抄而是按你的init的当前情况修改:

  #!/bin/nash

  mount -t proc /proc /proc (这里是第一个关键,有可能有些版本的mkinitrd会把这个mount放在后面,这样usb模块的加载有可能就不能正常工作)

  setquiet

  echo Mounting proc filesystem

  echo Mounting sysfs filesystem

  mount -t sysfs /sys /sys

  echo Creating /dev

  mount -o mode=0755 -t tmpfs /dev /dev

  mkdir /dev/pts

  mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts

  mkdir /dev/shm

  mkdir /dev/mapper

  echo Creating initial device nodes

  mknod /dev/null c 1 3

  mknod /dev/zero c 1 5

  mknod /dev/systty c 4 0

  mknod /dev/tty c 5 0

  mknod /dev/console c 5 1

  mknod /dev/ptmx c 5 2

  mknod /dev/rtc c 10 135

  mknod /dev/tty0 c 4 0

  mknod /dev/tty1 c 4 1

  mknod /dev/tty2 c 4 2

  mknod /dev/tty3 c 4 3

  mknod /dev/tty4 c 4 4

  mknod /dev/tty5 c 4 5

  mknod /dev/tty6 c 4 6

  mknod /dev/tty7 c 4 7

  mknod /dev/tty8 c 4 8

  mknod /dev/tty9 c 4 9

  mknod /dev/tty10 c 4 10

  mknod /dev/tty11 c 4 11

  mknod /dev/tty12 c 4 12

  mknod /dev/ttyS0 c 4 64

  mknod /dev/ttyS1 c 4 65

  mknod /dev/ttyS2 c 4 66

  mknod /dev/ttyS3 c 4 67

  echo Setting up hotplug.

  hotplug

  echo Creating block device nodes.

  mkblkdevs

  echo "Loading jbd.ko module" (从这里开始,依次先加载jdb和ext3,文件系统支持)

  insmod /lib/jbd.ko

  echo "Loading ext3.ko module"

  insmod /lib/ext3.ko

热词搜索:

上一篇:从USB移动硬盘上引导Portable Linux详解2
下一篇:从USB移动硬盘上引导Portable Linux详解4

分享到: 收藏