LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1996|回复: 2

怎么启动u盘上的系统

[复制链接]
发表于 2006-11-21 21:25:46 | 显示全部楼层 |阅读模式
我的硬盘上的系统是FC5,SCSI的硬盘,sda2上安装的winxp,sda6上安装的FC5。其他为数据盘。
我的u盘是ext3的文件系统,安装了busybox和grub,并创建了相应的目录(/bin /boot /tmp /sbin /lib /etc /proc /dev,/dev/console /dev/null /dev/ram /dev/ram0 /dev/tty* /dev/zero /etc/fstab /etc/inittab /etc/rc.d 等),现在在FC5上编译了kernel,并安装了模块到FC5的 /lib/modules/2.6.17,将vmlinuz拷到u盘的boot目录下,然后在FC5下使用mkinitrd制作initrd.img,并加入了usb的驱动模块,命令如下:
mkinitrd --fstab=/medis/usb/etc/fstab --preload="uhci-hcd" --preload="ehci-hcd" --preload="ohci-hcd" --preload="usb-storage" initrd.img 2.6.17
把这个initrd.img文件拷贝到u盘的boot目录下,同时把以上加载的几个模块和文件系统相关的模块也放到了u盘的相应目录下(/lib/modules/2.6.17),然后修改BIOS为从u盘启动,可是在输入了
grub>root (hd0,0)
grub>kernel /boot/vmlinuz root=/dev/sdb1
grub>initrd /boot/initrd.img
grub>boot
后,出现了以下的错误信息,
(前面的信息没有记下)
............
......
.......
SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
sda: Write Protect is off
SCSI device sda: drive cache : write back
sda: <6>usb 3-2: configuration #1 ckosen from 1 choice
input: USB Optical Mouse as /class/inpus/input2
input: USB HID v1.11 Mouse [USB Optical Mouse] on usb-0000:00:1d.2-2
usb 4-1: new full speed USB device using uhci_hcd and address 2
usb 4-1: configuration #1 chosen from 1 choice
scsi1: SCSI emulation for USB mass Storage devices
  sda1 sda2 sda3 <sda5 sda6 sda7 sda8 sda9 sda10>
sd 0:0:0:0: Attached scsi disk sda
Loading jbd,ko modules
Loading ext3.ko modules
Creating root device.
Mounting root filesystem.
mount: could not find filesystem '/dev/root'
Setting up other filesystems.
Setting up new root fs
setuproot: moving /dev failed: No such file or dir
no fstab.sys,mounting internal defaults
setuproot: error mounting /proc: No such file or dir
setuproot: error mounting /sys: No such file or dir
Switching to new root and running init.
umounting old /dev
umounting old /proc
umounting old /sys
switchroot: mount failed: No such file or dir
Loading libata.ko modules
Loaing ata_piix.ko modules
Loading jbd.ko module
Loading ext3.ko module
nash received SIGSEGV!
Kernel panic-
然后就死了,请问这是怎么回事???如何能让u盘系统启动?

我的u盘上的fstab文件是这么写的:
/dev/sdb1       /       ext3    defaults        1 1
proc    /proc   proc    defaults        0 0
sysfs   /sys    sysfs   defaults        0 0

后来我试着将initrd和vmlinuz启动硬盘上的系统,发现:
当我在mkinitrd时不加上面的那些preload选项的时候(不加载usb相关模块),这个initrd.img可以在硬盘上(FC)正常启动,但是加入这些选项,也会出现同样的kernel panic,可是从u盘启动的话,这些模块又是必要的阿。

谁能帮帮我阿????搞了好长时间了!!

附上我的initrd.img中的init文件:
#!/bin/nash

mount -t proc /proc /proc
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 uhci-hcd.ko module"
insmod /lib/uhci-hcd.ko
echo "Loading ehci-hcd.ko module"
insmod /lib/ehci-hcd.ko
echo "Loading ohci-hcd.ko module"
insmod /lib/ohci-hcd.ko
echo "Loading usb-storage.ko module"
insmod /lib/usb-storage.ko
echo Waiting 8 seconds for driver initialization.
sleep 8
echo "Loading libata.ko module"
insmod /lib/libata.ko
echo "Loading ata_piix.ko module"
insmod /lib/ata_piix.ko
echo "Loading jbd.ko module"
insmod /lib/jbd.ko
echo "Loading ext3.ko module"
insmod /lib/ext3.ko
mkblkdevs
resume LABEL=SWAP-sda9
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro sdb1
echo Mounting root filesystem.
mount /sysroot
echo Setting up other filesystems.
setuproot
echo Switching to new root and running init.
switchroot


各位大大帮帮忙阿!!!!!
这是我课题的一部分,谁能告诉我我的问题在什么地方,怎么样才能让他启动到shell呢??
发表于 2006-11-21 21:45:20 | 显示全部楼层
太麻烦了吧,看这个会否简单一点?

http://www.linuxsir.cn/bbs/showthread.php?t=236435
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-22 09:50:26 | 显示全部楼层
谢谢d00m3d,正在努力中!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表