mirror of
https://gitee.com/liushuncheng-lsc/lfs-livecd.git
synced 2025-01-23 08:02:11 +08:00
差不多得了
Signed-off-by: liushuncheng <2930054131@qq.com>
This commit is contained in:
parent
a68b4e2f85
commit
74d76ff10f
18
教程/06-生成squashfs.txt
Normal file
18
教程/06-生成squashfs.txt
Normal file
@ -0,0 +1,18 @@
|
||||
我们在生成完initramfs之后,我们将打包我们的系统镜像
|
||||
|
||||
进入你的宿主系统(编译你的lfs所使用的系统),
|
||||
之后我们可以挂载安装lfs的硬盘,当然你要是编译在一个目录里的话就不用管
|
||||
|
||||
之后你可以chroot进去你的lfs,做一些必要的清理或调整
|
||||
例如调整:/etc/fstab /etc/profile之类的文件,然后清理/tmp,清理.la,去除调试符号,退出chroot
|
||||
之后卸载虚拟文件系统(假设有lfs变量,且你挂载了虚拟文件系统)
|
||||
umount $LFS/dev/shm
|
||||
umount $LFS/dev/pts
|
||||
umount $LFS/{dev,proc,sys}
|
||||
umount $LFS/run #假如你挂载了/run
|
||||
|
||||
之后开始压缩squashfs,在你的宿主系统里,且设置了LFS变量
|
||||
sudo mksquashfs $LFS ./squashfs.img -comp zstd
|
||||
|
||||
如果你要编译的内核不支持zstd压缩的话或者你宿主机的squashfs-tool不支持zstd的话,
|
||||
去除-comp zstd这个选项
|
30
教程/07-livecd目录布置.txt
Normal file
30
教程/07-livecd目录布置.txt
Normal file
@ -0,0 +1,30 @@
|
||||
要生成iso之前,我们先要搞好你的livecd里有什么要用的文件
|
||||
|
||||
一般来讲,红帽系的livecd iso的目录布局一般是这样子的
|
||||
boot/ EFI/ images/ LiveOS/
|
||||
boot/ EFI/这两个目录是用来引导的
|
||||
images/里有pxeboot这个目录,pxeboot是我们的vmlinuz initrd.img这两个文件
|
||||
LiveOS这个目录里面放我们的squashfs.img文件
|
||||
|
||||
虽然红帽系的引导使用的是grub-bios和grub-efi,但我们这次要用的isolinux+grub-efi
|
||||
|
||||
首先创建我们的目录,名字就叫livecd-dir就好了
|
||||
mkdir ./livecd-dir/{boot,EFI,images,LiveOS,isolinux}
|
||||
mkdir ./livecd-dir/images/pxeboot
|
||||
|
||||
然后复制你lfs的vmlinuz和initrd.img
|
||||
示例:
|
||||
cp -rv $LFS/boot/vmlinuz-xxx ./livecd-dir/images/pxeboot/vmlinuz
|
||||
cp -rv $LFS/boot/initramfs.ing-xxx ./livecd-dir/images/pxeboot/initrd.img
|
||||
|
||||
复制squashfs.img:
|
||||
cp -rv ./squashfs.img ./livecd-dir/LiveOS/
|
||||
|
||||
我们这个仓库很贴心的为你们准备了isolinux以及EFI
|
||||
假设你把这个仓库克隆到了lfs-livecd目录
|
||||
cp -rv ./lfs-livecd/isolinux/* ./livecd-dir/isolinux/*
|
||||
cp -rv ./lfs-livecd/livecd-efiboot-fedora/EFI/* ./livecd-dir/EFI/
|
||||
|
||||
解压livecd-efiboot-fedora下的bootefi-fedora.7z,得到bootefi.img
|
||||
然后mkdir ./livecd-dir/boot/grub
|
||||
cp bootefi.img ./livecd-dir/boot/grub
|
52
教程/08-引导配置文件.txt
Normal file
52
教程/08-引导配置文件.txt
Normal file
@ -0,0 +1,52 @@
|
||||
搞完你的livecd的目录之后,
|
||||
唠叨唠叨isolinux/isolinux.cfg,
|
||||
和EFI/BOOT/grub.cfg
|
||||
|
||||
你们已经会编译lfs了,所以大家也应该知道这两个文件是配置引导的文件,告诉引导程序怎么引导内核
|
||||
示例:
|
||||
|
||||
|
||||
isolinux.cfg
|
||||
=========================================================================
|
||||
default vesamenu.c32
|
||||
MENU BACKGROUND syslinux_splash.jpg
|
||||
MENU TITLE lfs-livecd
|
||||
LABEL lfs
|
||||
MENU LABEL boot lfs 12.1
|
||||
kernel /images/pxeboot/vmlinuz
|
||||
initrd /images/pxeboot/initrd.img
|
||||
append root=live:CDLABEL=LFS rd.live.image vga=788
|
||||
==========================================================================
|
||||
|
||||
|
||||
grub.cfg
|
||||
==========================================================================================================================
|
||||
set default="1"
|
||||
|
||||
function load_video {
|
||||
insmod all_video
|
||||
}
|
||||
|
||||
load_video
|
||||
set gfxpayload=keep
|
||||
insmod gzio
|
||||
insmod part_gpt
|
||||
insmod ext2
|
||||
insmod chain
|
||||
|
||||
set timeout=60
|
||||
### END /etc/grub.d/00_header ###
|
||||
|
||||
search --no-floppy --set=root -l 'lfs'
|
||||
|
||||
### BEGIN /etc/grub.d/10_linux ###
|
||||
menuentry 'Start lfs 12.1 with safe graphics' --class lfs --class gnu-linux --class gnu --class os {
|
||||
linux /images/pxeboot/vmlinuz root=live:CDLABEL=LFS rd.live.image vga=788 nomodeset
|
||||
initrd /images/pxeboot/initrd.img
|
||||
}
|
||||
menuentry 'start lfs 12.1' --class lfs --class gnu-linux --class gnu --class os {
|
||||
linux /images/pxeboot/vmlinuz root=live:CDLABEL=LFS rd.live.image splash vga=788
|
||||
initrd /images/pxeboot/initrd.img
|
||||
}
|
||||
|
||||
=========================================================================================================================
|
18
教程/09-生成iso.txt
Normal file
18
教程/09-生成iso.txt
Normal file
@ -0,0 +1,18 @@
|
||||
好了大家,这个目录布局引导文件搞完了,就开始生成iso文件
|
||||
|
||||
如果你是debian系的用户,安装isolinux xorriso genisoimage(mkisofs)这三个软件
|
||||
|
||||
之后生成livecd
|
||||
sudo xorriso -as mkisofs -R -r -J -joliet-long -l -cache-inodes -iso-level 3 \
|
||||
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -partition_offset 16 \
|
||||
-A "LFS" -p "LFS" -publisher "myName" -V "LFS" \
|
||||
--modification-date=2023121300000000 \
|
||||
-b isolinux/isolinux.bin -c isolinux/boot.cat \
|
||||
-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot \
|
||||
--efi-boot boot/grub/efi.img -append_partition 2 0x01 livecd-dir/boot/grub/efi.img \
|
||||
-o my.iso livecd-dir
|
||||
|
||||
首先,带livecd-dir这个字段的就是你iso目录
|
||||
然后--modification-date就是修改日期,没必要改
|
||||
-publisher "myName",myName可以替换成你的名字
|
||||
-o my.iso my.iso就是你最后生成的iso
|
5
教程/10-收尾工作.txt
Normal file
5
教程/10-收尾工作.txt
Normal file
@ -0,0 +1,5 @@
|
||||
好了你自己的livecd已经搞完了,试试用qemu之类的虚拟机测试一下吧
|
||||
|
||||
大家有什么问题可以开个issues,或者认识我的给我发QQ
|
||||
|
||||
如果大家有什么linux系统安装程序想反馈给我的话,测试之后我就添加安装程序的教程,这样LFS livecd就有安装程序了
|
Loading…
Reference in New Issue
Block a user