|
参考文档:
想做个自己的 lfs distribution 吗?
需要的环境:
http://imghch.com/files/livecd.iso
lfslivecd-x86-6.3-r2145.iso
VMWare WorkStation 6.0
Winscp
SecureCRT
实验步骤:
构建工作环境
在VMware中安装lfslivecd-x86-6.3-r2145.iso,为了方便操作,我们使用SecureCRT和Winscp。
- net-setup
- ifconfig eth0
- /etc/rc.d/init.d/sshd start
- passwd
- LFS=/mnt/lfs
- mkdir -pv $LFS
- mkdir -pv $LFS/sources
- mkdir -pv $LFS/iso
- mkdir -pv $LFS/rootfs
- mkdir -pv $LFS/rootfs/boot/grub
- 注:$LFS/rootfs目录是我们最终要安装到硬盘中的系统
复制代码
安装cdrtools-2.01,安装这个包是为了使用其包含的命令mkisofs,这个是建立光盘镜像的工具。
- cd $LFS/sources
- tar xvf cdrtools-2.01.tar.bz2
- cd cdrtools-2.01
- patch -Np1 -i ../cdrtools-2.01-mkisofs_iconv-1.patch
- patch -Np1 -i ../cdrtools-2.01-ascii-2.patch
- make INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root
- 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
复制代码
- mount -v /dev/cdrom /media/cdrom
- ll /media/cdrom/root.ext2
- mkdir -pv /media/iso
- mount -vt ext2 -o loop /media/cdrom/root.ext2 /media/iso
- cp -av /media/iso/* $LFS/rootfs
- 建立menu.lst
- cat > $LFS/rootfs/boot/grub/menu.lst << "EOF"
- default 0
- timeout 10
- color green/black light-green/black
- title LFS to Disk 1.0
- root (hd0,1)
- kernel /boot/vmlinuz ro root=/dev/hda2
- EOF
复制代码
编译内核:
- cp -av /lfs-sources/linux-2.6.22.5.tar.bz2 $LFS/sources
- cd $LFS/sources/linux-2.6.22.5
- make mrproper
- make ARCH=i386 allnoconfig
- make ARCH=i386 menuconfig
- 请根据自己的实际进行选择
- make ARCH=i386
- make modules
- make modules_install INSTALL_MOD_PATH=$LFS/rootfs
- cp -av arch/i386/boot/bzImage $LFS/rootfs/boot/vmlinuz
- mkdir -pv $LFS/rootfs/mnt/lfs/sources
- cp -av /lfs-sources/linux-2.6.22.5.tar.bz2 $LFS/rootfs/mnt/lfs/sources
- cp -av $LFS/sources/linux-2.6.22.5 $LFS/rootfs/mnt/lfs/sources
复制代码
复制设备文件:
- cp -av /dev/{mapper,mem,mouse,null,psaux,ptmx,pts,random,rtc,urandom,usb*,loop*,*tty*,zero,initctl} $LFS/rootfs/dev
复制代码
- echo "LFS to DISK 1.0" > $LFS/etc/issue
复制代码
- cat > $LFS/mklfs2disk.sh << "EOF"
- #!/bin/bash
- LFS=/mnt/lfs
- cd $LFS/rootfs
- rm -rvf $LFS/iso/root/lfs-6.1+.bz2
- tar jcvpf $LFS/iso/root/lfs-6.1+.bz2 *
- cd $LFS
- rm -rvf lfs2disk.iso
- mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o lfs2disk-1.0.iso iso
- echo "##################################"
- echo "# Finished!" #
- echo "##################################"
- EOF
复制代码
- chmod a+x $LFS/mklfs2disk.sh
- umount /media/iso
- mount -v -o loop livecd.iso /media/iso
- cp -av /media/iso/* $LFS/iso
- rm -rvf $LFS/iso/boot.catalog
- cat $LFS/iso/root/install
- 该脚本可自行进行修改
- cp -av /usr/lib/grub/i386-pc/* /mnt/lfs/rootfs/boot/grub/
复制代码
生成lfs2disk-1.0.iso
建立新的虚拟机,硬盘类型选择IDE,与$LFS/iso/root/install脚本兼容。
用lfs2disk-1.0.iso启动系统后,执行/root/install脚本完成安装。 |
|