自制Linux系统
自制linux系统
分区并创建文件系统
fdisk /dev/sdb
分两个必要的分区
/dev/sdb1对应/boot /dev/sdb2对应根 /
mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2
挂载boot
mkdir /mnt/boot 子目录必须为boot
mount /dev/sdb1 /mnt/boot
安装grub
grub-install --root-directory=/mnt /dev/sdb
恢复内核和initramfs文件
cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/
cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot
建立grub.conf
default=0
timeout=5
title linux
kernel /vmlinuz root=UUID==xxx selinux=0 init=/bin/bash
initrd /initramfs.img
chroot /mnt/sysroot
创建一级目录
mkdir /mnt/sysroot
mount /dev/sdb2 /mnt/sysroot
mkdir –pv
/mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}
复制bash和相关库文件
复制相关命令及相关库文件 如:ifconfig,insmod,ping,mount,ls,cat,df,lsblk,blkid等
示例:
新建一个硬盘20G, echo ‘ - - - ‘ > /sys/class/scsi_host/host2/scan
fdisk /dev/sdb ,分一个主分区100M;在分一个主分区(剩余其他空间)
mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2
mkdir /mnt/boot 创建挂载点(子目录必须是boot)
mount /dev/sdb1 /mnt/boot 挂载分区
grub-install --root-directory=/mnt /dev/sdb //指定父目录
cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/vmlinuz
cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/initramfs.img
vim /mnt/boot/grub/grub.conf //写配置文件
default=0
timeout=5
title linux
kernel /vmlinuz root=UUID(或/dev/sda2) selinux=0 init=/bin/bash
initrd /initramfs.img
mkdir /mnt/rootfs
mount /dev/sdb2 /mnt/rootfs
复制bash和相关库文件 (可以再次使用copycmd.sh脚本来辅助复制命令相关的库文件)
复制相关命令及相关库文件 如:ifconfig,insmod,ping,mount,ls