MGC 2.1rc1 Live 安装说明

出自江涛的个人主页

跳转到: 导航, 搜索

目录

注意

  1. 本文所写内容未经过严格的测试,有可能因为各种未发现的问题导致数据丢失的情况。
  2. 本文所写内容为对应针对 Magic Linux 2.1 RC1 的 Live 实现所编写。不保证在其他版本中工作正常。
  3. 本文禁止非改正错误以外的修改后同名再发布,本文提到的在本项目下编写生成的资源同样禁止非改正错误以外的修改后同名再发布。
    • 如果你根据本文所提到的各种资源重新制作、添加了新的功能,成为了新的 live 功能脚本,请重新编写说明文件。新的说明文件可参考本文,但须明确说明,你的资源已经经过修改,不能完全根据本文的内容进行操作。
  4. 本文仅供参考,并不能保证正确性。

文件下载、说明

下载在这里: http://www.12321.org/files/mgclive-2.1rc1/

文件名 用处
grub4dos-0.4.3.zipgreu for DOS
grubinstall-1.0.zipgrub for ntldr
initrd-2.6.25.10-smp.img-busybox-liveLive 的 initrd
menu.lst用来当模板的 grub 配置文件
mgc-2.1rc1-20070722-squashfs.lzmaMagic Linux 的 squashfs 格式的 / 镜像文件
mkinitrd.tar.bz2用来从当前系统制作 initrd 文件的脚本及需要的文件
rwimg.ext3.img.bz2Bzip2 压缩了的 500M ext3 镜像文件
vmlinuz-2.6.25.10-smpMagic Linux 2.1 rc1 的内核文件
*.md5sum为对应文件的 md5sum 结果

之前的准备工作

如果打算使用我制作好的各种文件直接安装一个 Live 版的 Magic Linux 系统,你可以直接跳过本节和下面一节。


首先建议重新干净安装一个 Magic Linux 2.1 rc1 系统,安装时建议添加一个新的普通用户。安装完毕使用 root 登录,进行必要的设置后(如:设置自动登录,设置网络)。在根目录新建一个文件夹,比如 /mgclivetemp。之后下载 http://www.12321.org/files/mksquashfs ,移动到 /mgclivetemp 目录下。

之后使用 Magic Linux 安装盘,进入恢复模式。或者使用其他 Linux 系统启动。挂载 Magic Linux 的分区。

进入挂载 mgc 的目录,删掉 /root 下面不需要的个人设置(具体保留的文件可以参考安装时添加的用户家目录)。编辑 /etc/fstab 文件,注释或者删除本机的各种分区,仅保留各种特殊的挂载如 /proc 等。之后进入 mgc 的 /etc/lvm/ 目录清空 .cache 文件内容,进入 mgc 的 /etc/blkid 目录,清空里面的所有文件内容。之后清空 mgc 的 /tmp 目录。

之后回到 mgc 挂载的目录,此时应位于 mgc 的 / 目录位置上,保证 mgclivetemp/mksquashfs 可执行后。执行:

mgclivetemp/mksquashfs bin opt boot proc dev root etc halt sbin home sys lib tmp media usr var mnt mgclivetemp\mgclive.squashfs

即,将所有 Magic Linux 系统下面文件夹(除了临时使用的 mgclivetemp 文件夹)制作为 squashfs 文件,保存在 mgclivetemp 里,命名为 mgclive.squashfs 。

时间很长,需要耐心等待……

制作完成后就可以重启进入 Magic Linux 进行下一步了。

从当前的 Magic Linux 系统生成一个 initrd

下载 mkinitrd.tar.bz2 ,解压缩,进入解压缩后形成的目录。

运行 mkinitrd.sh,这个文件已经被赋予了可以运行权限,如果你不能直接运行,可以:

sh mkinitrd.sh

来运行这个脚本程序,运行之前请确保 init 文件为可执行状态。

chmod +x init

防止 initrd 启动出错。

之后 mkinitrd.sh 脚本会自动拷贝生成一个 initrd 文件,这个文件和当前的内核文件配合可以启动基于当前系统的 live 版 Magic Linux 。

引导程序的设置

可以选择 grub for ntldr 或者 grub for dos 实现引导 Linux 系统,具体的实现方法请自己搜索。我这里不再说明。当然也可以直接使用 Magic Linux 的 grub ,将 /boot/grub 目录拷贝到 U 盘或者其他 fat32 分区的对应目录后,在 grub 命令行中可以将 grub 安装到 fat32 分区中实现引导。


之后请参考我的 menu.lst 文件:

root (hdx,y) 表示内核文件和 initrd 所保存的文件位置。grub 总是把当前启动的硬盘认为 hd0 。

kernel 行中:

  • /vmlinuz-2.6.25.10-smp 为内核所在的文件夹和他的文件名。
  • vga=791 为设置 console 的分辨率,791 为 1024x768 。
  • root=/dev/hda1 为保存 squashfs 文件和 rwimg 文件的分区,支持非 NTFS 分区使用 UUID=XXXXXXX 方式指定设备。NTFS 分区只能用 /dev/ 的设备节点表示。具体的 uuid 值,可以看 /etc/disk/by-uuid/ 文件夹内的内容。
  • img=/mgc-2.1rc1-20070722-squashfs.lzma 为 squashfs 对应 root= 的所在文件夹及其文件名。
  • shell 表示不继续引导 squashfs 里面的 Magic Linux ,而启动一个 PID 为 1 的 sh 。可以用来解决问题时使用。
  • ntfs 表示 root= 所指定的分区是 ntfs 分区,这时 initrd 里面会载入 fuse.ko 模块并且用 ntfs-3g 挂载 root= 的分区。
  • rwimg=/rwimg.ext3.img 表示可以读写的镜像文件的文件夹及其文件名。
  • 其中还有未在例子中使用的 rwdev= 参数,他对应上一个文件,不过他是挂载一个设备作为读写分区进行保存数据。只能使用 linux 的文件系统。

initrd 行为载入刚刚制作好的 initrd 文件。

复制文件

将对应的文件复制到相应的目录及对应的文件名。就可以启动试验 Magic Linux 的 Live 效果了。

我的squashfs文件的用户名

  • 用户 root 的密码是 magic
  • 用户 user 的密码是 magic
个人工具