本文主要通过裁剪现有Linux系统,打造一个属于自己的Linux小系统,让其能够装载网卡驱动,并配置IP地址,实现网络功能。
自制Linux系统
步骤概述:
1、新建一个硬盘
2、在该新硬盘上新建两个分区,一个当boot分区,一个当/分区
3、格式化并且挂载两个分区
4、安装grub至目标磁盘
5、为grub提供配置文件
6、复制内核文件和initrd文件
7、创建目标主机根文件系统
8、移植bash命令和其库文件到根文件系统
9、装载模块,实现网络功能
10、启动测试
特别提醒
如果在vmvare上做此实验,在新建虚拟机创建新磁盘的时候,一定要选“Store virtual disk as a single file”,否则,也会出现内核恐慌kennel panic。
步骤演示详解过程:
1、新建一个硬盘
2、在该新硬盘上新建两个分区,一个当boot分区,一个当/分区
首先,我们要在目标磁盘上分两个区,并进行格式化。第一个分区100M,用来装引导程序;第二个分区19G,用来装根文件系统。然后再进行挂载操作,将/dev/sdb1挂载到/mnt/boot下,将/dev/sdb2挂载到/mnt/root下。
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 109.8M 0 part
└─sdb2 8:18 0 19.9G 0 part
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdd8058c2
Device Boot Start End Blocks Id System
/dev/sdb1 1 14 112423+ 83 Linux
/dev/sdb2 15 2610 20852370 83 Linux
3、格式化并且挂载两个分区
注意,其中boot分区的挂载目录一定是boot名字的目录
[root@localhost ~]# mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkfs.ext4 /dev/sdb2
[root@localhost ~]# mkdir -p /mnt/{root,boot}
[root@localhost ~]# ll /mnt/
total 8
drwxr-xr-x 2 root root 4096 Jul 25 08:52 boot
drwxr-xr-x 2 root root 4096 Jul 25 08:52 root
[root