自制mini的Linux系统

如何打造一个小的Linux系统。这个可以当做一个很简单的启动盘,并使它能够成功启动且能有简单的shell环境。

 步骤概略:

      (1)划分一块磁盘,用来装系统

(2)给硬盘划分至少两个分区,一个为boot引导分区,一个为/根分区

(3)为分区创建文件系统,并挂载到两个不同目录

(4)在挂载boot的分区创建grub引导目录

(5)复制内核vmlinux与initrd文件到boot目录下,然后根据文件编写grub下的引导配置文件

(6)创建根文件系统

(7)移植bash等命令到根目录下

(8)启动测试

(一)划分磁盘

制作Linux系统,就需要有硬盘来装载它。所以我们就需要划分一块硬盘来装制作的Linux文件系统。这个硬盘不需要太大,这里我就划分一个20G的硬盘来装载它吧!先用lsblk来看看这个分区

自制mini的Linux系统

(二)划分分区

既然是一个mini系统,那这里就给它划分两个分区吧!一个boot用来引导内核启动,一个为真正的根分区

创建分区用fdisk这个命令、

自制mini的Linux系统

(三)创建文件系统

分区创建完成,但是想要它可以装文件就要为它创建文件系统。那就把它创建为ext4的文件系统吧!

mkfs  -t  ext4  /dev/sdb1

mkfs  -t  ext4  /dev/sdb2

完成这两步后,分区已经创建完成。就可以把它们挂载到指定目录下了

自制mini的Linux系统

(四)创建grub引导目录

Linux的启动需要加载内核,而内核的加载就需要grub里的配置文件来定义

grub-install  –root-directory=/mnt/  /dev/sdb(这条命令就是用来生成grub引导文件的,它会根据CentOS6的内核文件来生成grub。然后把生成的文件指定到目标磁盘上)

自制mini的Linux系统

(五)复制内核与initrd到boot目录下

自制mini的Linux系统

复制完成后就可以来编写grub下的引导配置文件了,它会根据配置文件来逐步引导各个程序的启动。如下图:1、所表示这个系统的默认的启动内核,0就是我们所制作的这个内核。2、表示如果在三秒内未指定为哪个内核,则系统就会启动默认内核。3、表示内核的名字。4、指明启动时的硬盘为哪一块硬盘。5、kernel 指明内核文件放置的相对位置,root 指明根目录的位置,selinux 表示把selinux这个安全策略关闭,init 表示我们要用的shell环境,这里我们用的是bash。

注意:编写时需要注意要把根目录的分区名更改为sda,因为当硬盘去引导系统时系统里只有一块硬盘,它会被自动识别为/dev/sda

自制mini的Linux系统

(六)创建根文件系统

      启动分区准备好后就需要准备根分区了。这个分区的作用就是整个系统的真正的分区,整个系统的配置文件、数据都会放置在这个分区内。所以我们就需要在这个分区内创建目录来分别存放各个数据文件。而有些系统所必须的文件目录我们就可以在这里创建完毕。
      创建目录的命令如下:
        cd  /mnt/sysroot
        mkdir -pv {proc,dev,lib,bin,sbin,home,root,etc/rc.d,usr/{lib,bin,sbin},var/{log,run,lock},tmp,mnt,sys}

(七)移植命令到根下

系统创建完成后还需要复制一些基本的命令到根下,如bash、ls、cat、cd、hostname、vim等以这些命令来完成某些操作,实现基本的shell环境。所以我们需要编写一个脚本完成这些命令的配置文件的复制以及所依赖的库文件的复制。

下面这个脚本就可以帮我们完成这个任务

自制mini的Linux系统

这些命令复制完成后。到这里一个mini的Linux系统已经基本创建完成了。为了看它是否能启动我们可以先切根看看能否切进这个系统里去

chroot  /mnt/sysroot  (如果切入成功,则说明系统已经基本创建完成)

    (八)启动测试
        最后,我们就需要把硬盘卸载下来。然后用虚拟机用这块硬盘来重新启动,启动成功后执行复制的几个简单的命令证明制作成功。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98134

(1)
李登峰李登峰
上一篇 2018-05-11
下一篇 2018-05-11

相关推荐

  • htop与vmstat的使用

    htop一般情况下需要安装,vmstat一般都是系统默认安装的,先说一下htop的安装 首先要安装C库 yum groupinstall development tools 然后下载htop wget http://sourceforge.net/projects/htop/files/latest/download 然后解压 tar -zxf downlo…

    2018-04-15
  • Linux基础知识(2)

    N31
    第二周

    Linux笔记 2018-06-30
  • 马哥教育– 第一周作业

    一、描述计算机的组成及其功能。 计算机由运算器,控制器,存储器,输入设备和输出设备五大部分组成。 运算器的功能是用于完成算术运算、逻辑运算。负责计算机执行的所有数学与逻辑功能。 控制器的功能是主要负责对程序所执行的指令进行分析,并协调计算机各部件进行工作计算机的所有其他部件。 存储器的功能是用于储存信息的设备,通常是将信息数字化后再利用电、磁、光学等方式的媒…

    2018-05-12
  • Linux_bash基础特性_golbbing文件通配符

    Linux_bash基础特性_golbbing文件通配符

    Linux笔记 2018-06-08
  • Apache介绍及常用配置

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

    2018-06-21
  • 用 percona-xtrabackup 实现备份实例

    安装2.4.11版本的percona wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.11/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm 下载新版的percona 看下后…

    Linux笔记 2018-06-14