自制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

相关推荐

  • liunx 笔记

    服务器硬件—CPU      服务器CPU公司   :Inter    xeon  至 强  ltanium   安腾      AMD A lthlon  MP   IBM  power 这几种。 服务器CPU分主频、外頻、倍频三个频率。CPU类型 :x86   x64 (clsc)  ARM  m6l8000 ,m68k power  pow…

    Linux笔记 2018-04-01
  • 配置ntp时间服务器,任务计划

    手动配置ntp时间服务 centos6 vim /etc/chrony.conf 加入service   172.20.0.1  iburst  保存 ntpdate 172.20.0.1 iburst systemctl enable chronyd 设为开机启动 centos6 chkconfig ntpd on设置开机开启ntp服务 vim  /etc…

    Linux笔记 2018-05-06
  • 第六周作业

    1、简述osi七层模型和TCP/IP五层模型 1、 osi七层模型 1、应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。 2、表示层:提供各种用于应用层数据的编码和转换功能,确保一个主机的应用层发送的数据能被另一个主机的应用…

    2018-06-29
  • sudu、文件共享(vsftp、samba、nfs)

    sudo:授权之后,能够让某用户以另外一个用户身份运行命令; 配置文件:/etc/sudoers;其编辑命令visudo sudo操作日志记录至/var/log/secure中 特别注意:禁止授权修改root密码;! passwd root,passwd [a-Z]* 配置项: root ALL=(ALL) ALL %wheel ALL=(ALL) ALL …

    Linux笔记 2018-05-30
  • 运维自动化之系统安装部署

    自动化安装centos系统

    2018-05-24
  • 权限管理

    权限管理 普通权限 通过划分为三种人来管理,所有者u,所属组g,其他人o,所有人a 文件 删除文件用文件所在文件夹的写权限来决定 读写权限root不受控制,执行受控制 对于目录没有执行权限,无法进入目录,无法查看目录内文件属性,无法查看文件内容 执行权限是基础权限没有执行读写权限无用 程序要运行,所在目录要有执行权限 普通用户无法更改文件的所有者,要更改文件…

    Linux笔记 2018-03-31