sandr0 发表于 2006-10-5 08:13:42

将lfs livecd安装在硬盘上

使用的是lfslivecd-x86-6.1.1-4.iso,应该只要是镜像里面含有.root.sqfs这个文件的都可以。
只支持.root.sqfs放在hda1,文件系统必须ntfs,因为我编译的内核里面只增加了ntfs嵌入进内核。
我使用ntldr载入grldr,menu.lst这样编写:
title LFS Live CD
kernel (hd0,0)/linux
initrd (hd0,0)/initramfs_data.cpio.gz

需要linux内核文件和initramfs_data.cpio.gz的请在这里下载:
http://sandro.yang.googlepages.com/copyleft.htm
或者直接用gast:guestk登录gmail(http://mail.google.com/a/sandro.3322.org)自取。

.root.sqfs文件可以从下载官方的lfslivecd-x86-6.1.1-(x).iso(x=1, 2, 3, 4)中提取,也可以从我制作的四合一启动光盘中提取:
iso文件692M
http://www.box.net/public/ucenhngdsq
ed2k://|file|MutiBoot.iso|725604352|A8D89BAEEE39F684FA8AB2F11DEEA0AF|/

sandr0 发表于 2006-10-30 06:44:40

我又研究了一下,现在6.2的CD也可以安装到硬盘上了。
6.2系列的livecd和6.1变动很大,有很多新功能,最新的6.2-3中的xorg是最新发布的7.1,还有中文支持方面,现在locale里面可以选简体中文繁体中文GBK,BIG5,UNICODE,还有scim中文输入法,网络工具也很全,还有gaim聊天呢,可能唯一缺的就是多媒体了,我现在就是在硬盘上的livecd系统下发的帖,呵呵。
6.2的光盘做法也变了,不用6.1的squashfs了,是采用基于iso9660和linux内核的透明压缩来做的。这样安装到硬盘的方式也要相应改变。
6.2光盘里面的root.ext2镜像里面还包含200多M的lfs-sources,如果去掉这个,光盘文件大小可以压缩到272M。
如果不要删除任何东西,做起来相对简单,只需要重新编译一下init,并重新打包initramfs.cpio.gz就可以了。6.2的内核中编译了ext文件系统,所以如果将iso文件放在ext格式的分区中,就也不需要重新编译内核。init.c中还是先删掉检查光盘标签的那部分,然后在加载光盘那段前面加两行(以我安装在/dev/hda8上为例):
mount("/dev/hda8", "/hda8", "ext3", 0, 0);
losetup("/dev/loop2", "/hda8/lfslivecd-x86-6.2-3.iso", O_RDONLY);

然后将加载光盘那行的curdevice改成"/dev/loop2"。
如果要删掉lfs-sources,想压缩空间,就相对复杂一点,除了要做上面的工作,还要解压root.ext2来做相应的删减。可以参照
http://wiki.linuxfromscratch.org/livecd/browser/branches/6.2/doc/lfscd-remastering-howto.txt?rev=1744
上面的步骤。
如果需要的话,我可以把我删除掉lfs-sources的root.iso(272M)做成bt种子发布。

lg0812 发表于 2006-10-30 18:25:04

楼主厉害!!!有一点不明!!!
什么叫做采用基于iso9660和linux内核的透明压缩???

sandr0 发表于 2006-10-30 21:28:43

原文是:
The LiveCD uses the ISO9660 filesystem with Linux-specific transparent
decompression extension.
我上面的表达可能有点问题。
压缩是透明的,在使用的时候根本感觉不到是被压缩了的。使用这样的压缩需要两方面的支持,这种压缩只能建立在iso9660文件系统上,而透明解压必须要在内核编译里面加上相应的支持。
压缩率还是很大的,900M的东西压缩到了272M。
相关工具是:zisofs-tools,mkisofs -z -R

cnhnln 发表于 2006-10-30 22:12:32


而透明解压必须要在内核编译里面加上相应的支持

具体是什么阿?

Siliver 发表于 2006-10-31 15:21:32

哈哈,好眼熟的id
再看一遍

sandr0 发表于 2006-10-31 17:39:00

在内核编译里面选上:
文件系统->CD/DVD光盘文件系统->ISO9660文件系统->内核透明解压扩展
具体的.config里面是

# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

cnhnln 发表于 2006-10-31 22:57:47



# CD-ROM/DVD Filesystems
#
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y

默认内核没这玩意,补丁在哪阿?

sandr0 发表于 2006-11-1 01:44:49

你的内核源代码是什么版本?从2.4.14开始内核就提供这个支持了啊,仔细找找,肯定有的。
lfslivecd-x86-6.2-x(x=1, 2, 3)光盘中/boot/isolinux/linux就是一个已经编译好的加入这个支持的内核。
如果实在不行,你可以用zisofs-tools中的mkzftree来解压这种镜像文件。
mkzftree -u -F /sourcepath/root.ext2 /destinationpath/root.ext2
zisofs-tools在这里下载:http://www.kernel.org/pub/linux/utils/fs/zisofs/

cnhnln 发表于 2006-11-1 22:23:19


从2.4.14开始内核就提供这个支持了啊

2.6.19rc1都没看到
我再好好看看去

cnhnln 发表于 2006-11-2 22:04:54

知道了,多谢

relativism365 发表于 2006-12-2 02:15:12

lz,wo xuyao xiangxi de initramfs_data_cpio.gz de zou fa,ke yi mafan ma

relativism365 发表于 2006-12-3 06:17:07

LZ,你好,昨天没办法输入中文,今天再来请教一下
您能否贴出您的init.c文件,我照您的提示修改了init.c但编译不过
或者是把您的initramfs_data_cpio.gz(6.2-3)共享出来
因为我急着用,这些等liveCD启动后再研究了

relativism365 发表于 2006-12-3 06:24:57

老是丢3纳4的,忘了留我的EMAIL了:relativism365 at gmail dot com

relativism365 发表于 2006-12-3 23:17:17

555.我是装在hda3上的
页: [1] 2
查看完整版本: 将lfs livecd安装在硬盘上