问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

LFS 6.3安装好后如何制作成启动盘

发布网友 发布时间:2022-04-24 08:41

我来回答

3个回答

懂视网 时间:2022-04-15 02:36

弄了3天总算是把LFS弄好了,都是按照LFS一步步来的,这里就只说一下有问题的地方。 第一个错误是 在第五章第一次安装linux-libc-headers-2.6.12.0时出错 文档中的命令: cp-Rvinclude/asm-i386/tools/include/asm cp-Rvinclude/linux/tools/include 错误忘了

弄了3天总算是把LFS弄好了,都是按照LFS一步步来的,这里就只说一下有问题的地方。

第一个错误是在第五章第一次安装linux-libc-headers-2.6.12.0时出错

文档中的命令:

cp -Rv include/asm-i386 /tools/include/asm

cp -Rv include/linux /tools/include

错误忘了好像是提示没有include/asm-i386这个文件或目录(事实上是有的,有点想不通),我嫌麻烦就直接使用宿主lfs-livecd的/usr/include中的文件,即cd到/usr/include中,再使用:

cp -Rv asm /tools/include/asm

cp -Rv linux /tools/include.

(这里我是先进/usr/include看看然后再操作,可以直接cp -Rv /usr/include/asm/tools/include/asm)

但是在第六章中再次安装是没有这个问题,但是命令有点不一样

文档中的命令:

install -dv /usr/include/asm (

cp -Rv include/asm-i386/* /tools/include/asm

cp -Rv include/linux /tools/include
我想大概是命令的问题(还是想不通,只是猜想),用类似第六章的命令(cp -Rv include/asm-i386/* /tools/include/asm)大概在第五章就不会出错了,没有验证,有人做的话建议可以试一下看看。不过我之前的办法在后面也没有出项问题,当然还是建议根据文档来。

第二个错误是做引导的时候编译完内核,做完引导,重启后遇到Kernel panic ——内核打出类似下面的一段话,然后死机:

VFS: Cannot open root device "sda8" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

因为我virtualbox里的虚拟机的硬盘是SICI的,所以和文档中grub时使用的hdax不一样,而是使用sdax,所以我开始以为可能是grub中menu.list和fstab中的设置问题。但是试了很多次都没用,后面想了一下内核其实已经引导起来了,应该是内核的编译设置的错误。网上查了一下,得到两个比较有用信息如下,这两个都是说在内核增加SICI的支持,为了不需要在grub设置中再增加init的设置要把它编译进内核不能以模块启动。

1.http://hi.baidu.com/zkheartboy/item/4e3a5af2b0d94d0fc6dc452b

这个是要设置Device Driver
|---->DriverATA/ATAPI/MFM/RLL
|---->Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
|----->generic/default IDE chipset support
|----->PCI IDE chipset support
|---->Generic PCI IDE Chipset Support

2.http://www.linuxsir.org/bbs/thread244052.html

这个是说要在Device Drivers->SCSI device support->SCSI low-level drivers下加入BusLogic SCSI support的支持

但是这两个我都增加了,重新编译后新内核还是出现同样错误。因为浪费了很多时间,我想暂时先就这样,先把LFS运行起来,错误以后再搞清楚。所以后面我直接使用了livecd的.config。于是问题解决!

热心网友 时间:2022-04-14 23:44

制作LFS liveCD 跟在硬盘上安装LFS有想相当大的不同 简要介绍如下
以6.2为例 6.3制作方法一样

一个Linux系统,它支持loop device, CD-ROM 和 ISO9660 文件系统。
一个有3GB以上空闲空间的硬盘分区

使用环境变量$WORK指向这个分区的文件夹,例如:

export WORK=/mnt/lfslivecd

这个LiveCD使用ISO9660文件系统,它采用了Linux特有的透明压缩方法。在这个文件系统中,包含以下文件:

boot/*
root.ext2

这个boot文件夹包含了Linux内核文件,initramfs镜像以及boot引导器。实际的根文件系统(ext2)是在root.ext2这个文件。

如果要制作这个CD,你需要安装以下包:

cdrtools-2.01: 作用:读取、创建、刻录CD的工具包。下载地址:

http://gd.tuwien.ac.at/utils/schilling/cdrtools/cdrtools-2.01.tar.bz2
ftp://ftp.berlios.de/pub/cdrecord/cdrtools-2.01.tar.bz2
MD5校验值: d44a81460e97ae02931c31188fe8d3fd
文件大小: 1.4 MB
所需磁盘空间: 21 MB

补丁:

http://www.linuxfromscratch.org/patches/blfs/svn/cdrtools-2.01-mkisofs_iconv-1.patch
http://www.linuxfromscratch.org/patches/blfs/svn/cdrtools-2.01-ascii-2.patch

安装方法:

1、安装补丁

patch -Np1 -i ../cdrtools-2.01-mkisofs_iconv-1.patch
patch -Np1 -i ../cdrtools-2.01-ascii-2.patch

2、编译

make INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root

3、安装

make INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root install &&
install -v -m755 -d /usr/share/doc/cdrtools-2.01 &&
install -v -m644 README* ABOUT doc/*.ps \
/usr/share/doc/cdrtools-2.01

zisofs-tools-1.0.6:

在http://www.kernel.org/pub/linux/utils/fs/zisofs/zisofs-tools-1.0.6.tar.gz 下载

使用以下命令安装

./configure --prefix=/usr && make && make install

加载这个CD

mount /media/cdrom

察看root.ext2文件的大小:

ls -l /media/cdrom/root.ext2

如果大致为1.5GB,那么就可以直接解压缩这个CD。你可以使用下面的命令拷贝文件到你的硬盘。

cp /media/cdrom/root.ext2 $WORK/root.ext2

如果它只有大约500MB,那么你需要重新构建你的Linux内核使它支持ZISOFS,或者使用下面的命令拷贝:

mkzftree -u -F /media/cdrom/root.ext2 $WORK/root.ext2

不管哪一种方法,确保$WORK/root.ext2这个文件在1.5GB大小左右。

This may or may not be sufficient for your remastered CD (or DVD) filesystem.

如果你需要,你可以使用e2fsprogs(版本不小于1.39)重新改变这个文件大小。1.39版本之前的e2fsprogs不能直接更改文件系统的镜像大小。

使用loop方式挂载这个镜像

mkdir $WORK/root
mount -o loop $WORK/root.ext2 $WORK/root

创建并绑定一个文件夹是一个非常好的主意,这样能保留许多有可能是空的扇区。

mkdir $WORK/build $WORK/root/build
mount --bind $WORK/build $WORK/root/build

挂载其它一些必要的文件夹:

mount -t proc proc $WORK/root/proc
mount -t sysfs sysfs $WORK/root/sys
mount -t devpts devpts $WORK/root/dev/pts
mount -t tmpfs tmpfs $WORK/root/dev/shm

注意:在LFS手册中这些指令是不推荐的。tmpfs不是加载到$WORK/root/dev。这是因为所有必要的设备都已经以静态节点的方式创建了。

Chroot:

chroot $WORK/root

通过chroot,更改当前目录到/build,安装需要的其它一些包。修改一些必要的文件。

在http://wiki.linuxfromscratch.org/livecd/browser/tags/6.2-5/packages/initramfs 下载initramfs文件。

解压缩这个文件。在Makefile文件中删除"include $(ROOT)/scripts/functions"这一行。创建initramfs镜像。

make compile-stage2 VERSION="x86-6.2-custom"

(你可以使用自己的字符创替换"x86-6.2-custom") 文件initramfs_data.cpio.gz就产生在当前文件夹中。如果当前文件夹不是"/build",复制它到 /build:

cp initramfs_data.cpio.gz /build

退出chroot环境,卸载挂载点:

exit
umount $WORK/root/dev/shm
umount $WORK/root/dev/pts
umount $WORK/root/sys
umount $WORK/root/proc
umount $WORK/root/build
rmdir $WORK/root/build

清理bash输入记录:

rm $WORK/root/root/.bash_history

你也可以移出其它的记录文件。

如果你错误的创建或删除了一些文件,可能导致之前的扇区被包含有非空数据的文件占据。对于这种扇区将不能很好的进行压缩。清空它们。

dd if=/dev/zero of=$WORK/root/zeroes

这个命令将打印一个消息:这个磁盘是满的。这不是一个错误。将这个文件从文件系统中移除。

rm $WORK/root/zeroes

现在,卸载root.ext2这个文件:

umount $WORK/root
sync

The "sync" command is needed e to a bug in the loop driver in some kernels that leads to a filesystem with errors otherwise.

现在创建文件夹用来构建你的LiveCD:

mkdir $WORK/iso

从原始的LiveCD中复制boot文件夹

cp -r /media/cdrom/boot $WORK/iso

使用自己的initramfs镜像替换原来的:

cp $WORK/build/initramfs_data.cpio.gz \
$WORK/iso/boot/isolinux/iniramfs_data_cpio.gz

(the underscore before "cpio" in the previous command is not a typo).

重新压缩root.ext2这个文件:

mkzftree -F $WORK/root.ext2 $WORK/iso/root.ext2

创建CD镜像:

cd $WORK/iso ; mkisofs -z -R -l --allow-leading-dots -D -o \
../lfslivecd-x86-6.2-custom.iso -b boot/isolinux/isolinux.bin \
-c boot/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \
-V "lfslivecd-x86-6.2-custom" ./

完毕

热心网友 时间:2022-04-15 01:02

我只知道LFS 0.5Z
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 LFS主程式当前为S2 0.5Z版本解锁S1或者S2的破解工具!大神们帮帮忙 LFS的mod 的veh 文件用不了 说错误 mod也没玩到 我下载了LFS游戏也下载了解锁工具,但我输入用户名和密码点击确定后出现无法创建文件数据。请高人帮忙。 LFS解锁工具 LFS高手进一下 怎样打开在电脑上LFS文件, EBKF文件 RCT文件等 怎么把一个LFS的系统装到U盘 如何将lfs制作为可以引导的类似其他发行版的iso镜像 lfs的录像放在哪里? LFS的JPEG文件怎么用? 安卓.lfs文件夹里的东西没了怎么办 尤特娜英雄战记汉化版下载加模拟器 有的请发邮箱252040592@163.com 什么是冰箱的整体折弯效果、整体发泡? PC上PS模拟器上运行游戏《泪指轮传说-尤特娜英雄战记》,然后用EMU CHEAT怎么搞金手指? 冰箱都有什么发泡层各有什么区别 跪求泪之腕轮传说尤特娜英雄战记中文版和攻略心得 我有日文的了。别发日文了304511826@qq.com 谢谢了 冰箱的冷凝器为啥要用发泡剂包裹,这样修理起来不是很麻烦吗? 求助冰箱开背维修后怎样重新发泡 求泪指轮传说尤特娜英雄战记(最好是中文版)在电脑上能玩的 下载地址或直接传给我 冰箱的发泡层是什么意思? 怎样解锁LFS S2 LFS安装过程中tar xvf /lfs-sources/binutils-2.15.94.0.2.2.tar.bz2出错,显示没有文件或者目录! lfs z版破解 LFS怎么装MOD啊 ??? lfs怎么开服务器? 单位墙上挂的国家或机关单位给颁发的先进单位的牌子叫什吗?急~~~ 政府门口挂的牌子叫什么? 变频的不一定零误差 但零误差的一定要加变频器这句话的意思? - 信息提示 问一下加变频器有何作用?什么情况下必须要变频器?谢谢 上学的时候教室里面挂的那些竖排的东西叫什么、 普通车床加装变频器有什么好处?或者根本没必要装。 (不改造车床,是原有线路) 古代客栈中那些挂在墙上的牌子叫什么名字? 写着规章制度的牌子挂在墙上的那种叫什么 线切割加变频器有什么作用 地铁走道里的那种挂在墙上的又大又长的广告牌叫什么?有专业名称吗 像相框一样贴在墙上的广告牌术语叫什么? 公司挂在墙上的牌子叫什么 办公室天花挂的用来区分办公区域的牌子叫什么? 古代挂在门上用来表示名称的木牌叫什么?如木府在上面挂了一个刻有木府字样的牌子。