码迷,mamicode.com
首页 > 系统相关 > 详细

模拟自制linux系统

时间:2017-09-03 23:41:59      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:linux   系统启动   流程   

(1) 新建硬盘对其分区 硬盘文件名CentOS 6.9-0.vmk

技术分享

(2)识别新加硬盘,记录设备名sdb

技术分享

(3)对其新建硬盘sdb分区(fdisk /dev/sdb),至少有以及boot分区

技术分享

(4)对分区创建文件系统

设备sdb分区如下sdb1作为boot分区 sdb2作为根所在分区

[root@kami6 ~]# mkfs.ext4 /dev/sdb1

[root@kami6 ~]# mkfs.ext4 /dev/sdb2

技术分享

(5)创建一级目录,并挂载

注:新建sdb1对应挂载目录名必须是boot命令,否则执行安装grub出错

新建sdb2对应挂载目录名为sdb2,此处为自制linux的"根"

技术分享

(6)在/mnt/boot 下创建相关配置文件

生成grub文件

注:grub-install 指定目录是mnt下boot目录 对应硬盘是/dev/sdb 不是/dev/sdb1

技术分享

恢复内核和initramfs文件

技术分享

创建grub.conf文件

[root@kami6 ~]# vim /mnt/boot/grub/grub.conf

技术分享

注:此块磁盘是宿主机上的第二块磁盘,所以这里是/dev/sdb,而到时候挂载到目标主机的时候,因为那里只有这一块磁盘,所以在目标主机上的名称应该是/dev/sda,这个不能搞混了。后面要把selinux关掉,而且init要使用/bin/bash,告诉内核不要再去找init程序了。如果不指定这一步,在启动过程中就会报kernel panic(内核恐慌),以为系统就它一个了,没有init进程。

(7)在/mnt/sdb2下创建“根”相应的目录

创建目录

技术分享

复制bash、相关的命令以及相关库文件

注:复制命令以及相关库文件参照脚本

技术分享

技术分享

(8)拷贝网络驱动模块

[root@kami6 ~]# cp /lib/modules/2.6.32-696.el6.x86_64/kernel/drivers/net/e1000/e1000.ko /mnt/sdb2/lib64

(9)启动测试

硬盘文件名CentOS 6.9-0.vmk启动

技术分享

本文出自 “13147015” 博客,谢绝转载!

模拟自制linux系统

标签:linux   系统启动   流程   

原文地址:http://13157015.blog.51cto.com/13147015/1962348

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!