LFS Bash脚本小试牛刀 一
LFS Bash脚本小试牛刀 一
题目:
将给定的一块硬盘制作为可启动硬盘,操作全程使用二进制程序或者脚本自动完成:
1.系统为一个裁剪后的GNU/Linux操作系统;
2.使用init脚本初始化系统,要求能装载网卡驱动,并配置IP地址;
3.最后进入bash shell交互环境。
解:
处理过程鸟瞰
#!/bin/ #kernel_step3.
#: : //
read -p
! [ -b
[ =
exit
read -p
read -p
! [ = -o =
exit
=/dev/zero of=$dev bs= count=
fdisk -
+
+
fdisk - mkfs -t ext3
mkfs -t ext3
[ -e /mnt/boot ] || /mnt/ [ -d /mnt/boot ] || ( ; exit [ -e /mnt/sysroot ] || /mnt/ [ -d /mnt/sysroot ] || ( ; exit
/mnt/ /mnt/sysroot
View Code
第二步:将这两个分区挂载到两个宿主机目录,分别是/mnt/boot与/mnt/sysroot,在磁盘上安装grub系统启动管理程序,复制内核压缩映像与initramfs至boot分区,配置grub。 第三步:初始化根目录,创建必要的目录文件,复制需要的命令与其所使用的库文件,复制网卡驱动,配置系统的初始化脚本init。此处用到了文章《LFS Bash脚本热身任务 二》中的一个函数。 /boot/vmlinuz-.-.el6.x86_64 /mnt/boot/
/boot/initramfs-.-.el6.x86_64.img /mnt/boot/
grub- --root-directory=/
> /mnt/boot/grub/grub.conf << default=
timeout=
root (hd0, kernel /vmlinuz-.-.el6.x86_64 ro root=/dev/sda2 selinux= init=/sbin/ initrd /initramfs-.- EOF