LinuxSir.cn,穿越时空的Linuxsir!

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

能制作root.ext2这样的文件,并放在ntfs分区上启动么?

[复制链接]
发表于 2010-3-23 15:37:11 | 显示全部楼层 |阅读模式
grub menu.lst怎么写?

谢谢
发表于 2010-3-23 15:50:03 | 显示全部楼层
参考ubuntu的wubi

但是我估计不行 有个实模式的问题...不晓得wubi怎么搞的...
回复 支持 反对

使用道具 举报

发表于 2010-3-23 23:47:00 | 显示全部楼层
Post by xinglp;2077278
grub menu.lst怎么写?

谢谢


一定可以。但具体步骤我不打算去想。不是menu.lst怎么写的问题,而是initrd里面要先挂载ntfs分区,再挂载root.ext2,再chroot,具体可以解开lfs livecd的initramfs包来看里面的脚本。
回复 支持 反对

使用道具 举报

发表于 2010-3-24 13:44:40 | 显示全部楼层
可以,  内核 和内核镜像放出来,加入ntfs文件系统的支持, 在内核镜像的启动脚本中加载root.ext2 再启动之  (live系统一般是只读挂载, 此处挂载rw就可以了)
回复 支持 反对

使用道具 举报

发表于 2010-3-24 13:50:32 | 显示全部楼层
root.ext2 怎么可能启动呢?只能被挂载
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-24 14:39:39 | 显示全部楼层
>root.ext2 怎么可能启动呢?只能被挂载
确切的说是启动的时候挂载为根系统.

>可以, 内核 和内核镜像放出来,加入ntfs文件系统的支持, 在内核镜像的启动脚本中加载root.ext2 再启动之

你说的内核镜像是这个文件么 INITRAMFS_DATA_CPIO.GZ 怎么制作的呢?

>(live系统一般是只读挂载, 此处挂载rw就可以了)
rw挂载之后,修改的内容能保存回镜像文件root.ext2么?
回复 支持 反对

使用道具 举报

发表于 2010-3-24 15:27:51 | 显示全部楼层
那你看看 lfslivecd 的启动脚本,mount root.ext2 前添加挂载 ntfs 分区的步骤
  1. do_mount_cd() {
  2.         while [ ! -b /dev/lfs-cd ] ; do
  3.                 find_cd
  4.                 if [ ! -b /dev/lfs-cd ] ; then
  5.                         cat <<"EOF"
  6. LFS LiveCD could not find its device, perhaps due to unsupported or
  7. undetected hardware. Please fix this problem and exit this shell.
  8. EOF
  9.                         problem
  10.                 fi
  11.         done
  12.         mkdir /.tmpfs/.cdrom
  13.         detect_cd_type
  14.         if [ "$toram" = 1 ] ; then copy_cd_to_ram ; fi
  15.         mount -n -t iso9660 -o ro /dev/lfs-cd /.tmpfs/.cdrom
  16.         losetup /dev/loop0 /.tmpfs/.cdrom/root.ext2
  17.         SIZE=`blockdev --getsize /dev/loop0`
  18.         OVERHEAD=$(( 0x1000 + $SIZE * 2 ))
  19.         OVLSIZE=$(( $SIZE + ( $OVERHEAD + 511 ) / 512 ))
  20.         dd if=/dev/null of=/.tmpfs/.overlay bs=512 seek=$OVLSIZE 2>/dev/null
  21.         losetup /dev/loop1 /.tmpfs/.overlay
  22.         echo "0 $SIZE snapshot /dev/loop0 /dev/loop1 p 8" | dmsetup create lfs-cd
  23.         mount -n -t ext2 /dev/mapper/lfs-cd /.root
  24.         mount -n --move /.tmpfs /.root/dev/shm
  25.         if [ "$toram" != 1 ] && [ ! -d /.root/dev/shm/.partition ] ; then
  26.                 cp -a /dev/lfs-cd /.root/dev/lfs-cd
  27.         fi
  28.         if [ "$toram" != 1 ] ; then
  29.                 ln -sf /dev/shm/.cdrom/drivers /.root/drivers
  30.         fi
  31.         cat /etc/modprobe.conf >>/.root/etc/modprobe.conf
  32.         ln -sf issue.$cdtype /.root/etc/issue
  33.         if [ "$cdtype" = "fullcd" ] ; then
  34.                 ln -sf /dev/shm/.cdrom/lfs-sources /.root/lfs-sources
  35.         fi
  36.         if [ "$nodhcp" = "1" ] ; then
  37.                 rm -f /.root/etc/udev/rules.d/76-network.rules
  38.         fi
  39.         ( IFS="," ; for module in $load ; do
  40.                 echo "$module" >>/.root/etc/sysconfig/modules
  41.         done )
  42. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-3-24 15:46:09 | 显示全部楼层
其实这个问题不是一个帖子就能搞定的,其中涉及到很多技术细节
是需要自己去查资料、做实验,逢山开路遇水搭桥的
回复 支持 反对

使用道具 举报

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

本版积分规则

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