QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1336|回复: 10

关于BOoRFGOnZ的liveCD发表一下拙见

[复制链接]
发表于 2007-1-23 17:58:41 | 显示全部楼层 |阅读模式
大家好,我是新人,关于liveCD发表一下拙见,希望不要拍砖:
0、尽量不要使用新技术aufs等,还是目前稳定成熟的技术可靠啊,哈哈。
1、关于initrd最好能用CPIO格式的。
毕竟CPIO没有大小的限制,再说现在流行CPIO嘛,也是趋势啊。好像目前是ext2的,中标的那个就是Ext2的,不知道能不能在新的magiclive里更新。
2、关于引导界面最好能用Grub。
毕竟功能强大,还能用图和中文(多用几个生僻字,让老外看不懂)。
3、关于initrd/linuxrc最好能使用nash
目前initrd好像都用nash吧,毕竟nash不需要完整的系统环境,而且非常小,可以节省空间,但是也又不足(不足后面说吧)。
4、关于initrd/linuxrc(重点说说,提点建议啊)。
1)要是使用CPIO和nash配合使用的话,最好改成init,呵呵,地球人都知道。
最好使用root=/dev/XXX,原先的linuxrc中的“echo 0x100 > /proc/sys/kernel/real-root-dev”好像属于历史遗留问题(个人认为是核心的bugs,写核心的人太不负责了,但是我也拿他们没法子),最好不使用,说不好在新的版本中就不再支持了,那就没有延续性了。
2)再就是“pivot_root /sysroot /sysroot/initrd”之后就不要再作其他的工作了,余下的部分可以在真正的根分区中解决,这样可以使initrd更加简练。
3)最好使用insmod代替modprobe,modprobe需要建立完整的文件夹目录,而且有一定的风险。

说了这么多,不知道有没有人会仔细看啊,我也不是光说不作啊,贴点上来(没有整理,把重点的放出来,大家讨论讨论吧)
initrd中的init
#!/bin/nash
mount -t proc /proc /proc
mount -t sysfs /sys /sys
mount -o mode=0755 -t tmpfs /dev /dev
mknod /dev/console c 5 1
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
mkdir /dev/pts
mkdir /dev/shm
/bin/udevstart
mount --ro -t iso9660 /dev/hdc /sysroot
switchroot --movedev /sysroot

对init脚本说明一下(工作还不充分):
1、内核必须支持iso9660文家格式要不就得自己insmod了
2、因为有了挂载根分区的操作,因此root=可以不要了
3、光驱(可以是刻录机)一定要是hdc,要不就不能用了,兼容hdb、hdd的问题还没有搞定。
4、真正根分区中的初始化,我就不管了啊,目前没有时间了

initrd中文件列表:
./lib
./bin
./bin/nash
./bin/insmod
./bin/modprobe
./bin/udevstart
./bin/hotplug
./etc
./etc/udev
./etc/udev/udev.conf
./dev
./dev/console
./dev/null
./dev/ram
./dev/systty
./dev/tty1
./dev/tty2
./dev/tty3
./dev/tty4
./dev/zero
./proc
./sys
./sysroot
./sbin
./init
./cdrom

就写道这把,要是讨论热烈的话,再把相关内容写出来,太累了,哈哈。
总结一下从Ext2到Cpio格式转化过程中的问题:
1、cpio格式没有建立完整的文件系统,需要自己找系统的相关文件(我是参考了BOoRFGOnZ以前的initrd)
2、nash和bash的语法有点不同,mount的时候要注意
3、关于root=和 echo 0x100 > /proc/sys/kernel/real-root-dev 要非常小心的使用,是核心的一个小问题,等我整理一下。
4、mkrootdev的相关工作还没有写,等下次吧
5、经过测试liveCD和liveUSB均可以使用了(当然,我没有使用BOoRFGOnZ的真正的文件系统,它的那个太大了,太可怕了,哈哈)
目前存在问题:
1、对于光驱只能对hdc进行操作,比较郁闷,请udev的高手指点
2、没有使用mkrootdev,尝试过了,但是没有成功,还需努力
发表于 2007-1-23 18:42:51 | 显示全部楼层
中肯 中肯
LZ说的有些情况我都考虑过的,然后采取的折中的方案。
不过 你没有注意的事情是: 我是在不怎么改变ML工作方式的情况下做的Livecd,那是要解决在只读介质上的可写问题(内存辅助) :D
所以 只是单纯的iso9xxx挂上光驱,是起不了光驱上ML的(就是你说的我那个大大的文件系统,还是压缩过的) :D

另外
aufs是改进版的unionfs
cpio的initrd也是有大小限制的,大约不能超过16M
光盘上的引导程序似乎grub不可以吧?

再另外
LZ似乎是只是用的Neoshine的Live 而没有用过Magci Linux  
回复

使用道具 举报

发表于 2007-1-23 19:41:05 | 显示全部楼层
呵呵,光盘上的引导程序用grub可以啊。ml2.1a2就是用grub引导安装的。

不过楼主提的有些是ml的问题。2.1版本里可能会改的。
回复

使用道具 举报

发表于 2007-1-23 19:44:48 | 显示全部楼层
那就是 光盘上也可以 grub+gfx 咯 。。

嘿嘿
回复

使用道具 举报

 楼主| 发表于 2007-1-24 09:36:14 | 显示全部楼层
我看了Neoshine的live,其中做了mount --bind的工作,就是解决可写问题的吧。这些工作可以不在initrd中做啊,可以在squashfs中做相关的工作的,应该是没有问题的,不过我没有实验过。
cpio的限制我也不知道,你这么一说我也学了新的东西了,哈哈
光盘的Grub是可以的使用grub中的stage2_eltorito作为mkisofs时候的-b就可以了,我以前试验过,不过现在的grub更新的很快,最新的是不是还是这个文件我就不知道了。
另外关于ML的live我就不下了,我拨号啊,容易吗。
楼上两位都是干什么的啊,早上6点就来上网,晕啊,哈哈。
回复

使用道具 举报

发表于 2007-1-24 09:40:59 | 显示全部楼层
LZ说的是1。0的Neoshine的Live制作方法(1.0的NeoshineLive你可以扔到垃圾箱中了),新版本的制作方法已经和以前的不一样了
回复

使用道具 举报

发表于 2007-1-24 12:14:04 | 显示全部楼层
其实最好的意见是
添加安装到硬盘的功能     
回复

使用道具 举报

发表于 2007-2-2 11:36:49 | 显示全部楼层
嗯,添加安装到硬盘

i810无法用安装盘的。。

咦?livecd貌似也画屏啊。。

命苦啊,可怜我那台旧机子啊
回复

使用道具 举报

发表于 2007-2-2 13:33:02 | 显示全部楼层
花瓶 可以换个控制台 进行xorg。conf配置
回复

使用道具 举报

发表于 2007-2-12 15:45:28 | 显示全部楼层
请指教一下啊‘

偶是linux新手
回复

使用道具 举报

 楼主| 发表于 2007-2-13 11:14:58 | 显示全部楼层
画屏的问题,不一定是什么问题啊,需要具体描述!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-24 04:28 , Processed in 0.037527 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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