当前位置:首页 > 操作系统 > Linux

制作mini Linux系统

Linux就是个尤物


制作微型linux系统流程


1  当前的虚拟机添加10G硬盘,作为单个文件存储命名为mini.vmdk 方便查找

   查看当前宿主机硬盘信息650) this.width=650;" src="/upload/getfiles/default/2022/11/18/20221118032901992.jpg" title="当前宿主机硬盘信息.png" />


2 添加一块硬盘到该虚拟机 sdb,并分区格式化 结果如图

 650) this.width=650;" src="/upload/getfiles/default/2022/11/18/20221118032902140.jpg" title="目标主机硬盘信息.png" />

 

创建目标主机的根分区目录和boot分区目录
mkdir -p /mnt/{sysroot,mnt}

3 挂载sdb1和sdb2到/mnt/boot和/mnt/sysroot下,并以rw(读写的权限)挂载

mount -t ext4 -o /dev/sdb1 /mnt/boot
mount -t ext4 -o /dev/sdb2 /mnt/sysroot

4 安装grub到目标主机的分区

650) this.width=650;" src="/upload/getfiles/default/2022/11/18/20221118032902283.jpg" title="加载grub到指定的目标主机分区.png" />


5 复制宿主机/boot目录下的内核文件和initramfs文件到目标主机响应的目录下

 

#cp /boot/vmlinuz-2.6.32-431.el6.x86_64 /mnt/boot/vmlinz
#cp /boot/initramfs-2.6.32-431.el6.x86_64.img /mnt/boot/initramfs

6 在目标主机/mnt/sysroot 下创建常用系统目录

mkdir /mnt/sysroot/{etc/rc.d,bin,sbin,lib,lib64,,root,dev,mnt,proc,sys}


7 将宿主机上常用的二进制文件及对应的库文件拷贝到目标主机上,多多益善  (ifconfig,ping,ls,cat,shutdown)我们使用脚本来完成此次拷贝动作

 scripts:

 

#!/bin/bash
 #
  lib(){
    for i in $*;do
    dirName=`dirname $i`
    [ -d /mnt/sysroot$dirName ] || mkdir -p /mnt/sysroot$dirName
    cp $i /mnt/sysroot$dirName/
     echo "the lib are copied to the it‘s dir"
done
}
    read -p "input a exec commond: " Commond
      lib    `which $Commond`
           path=`which $Commond`
      lib `ldd $path |grep -o "/[[:graph:]]"`

8 接下来为目标主机创建grub.conf文件

 #vim /mnt/boot/grub/grub.conf

default=0
timeout=5
title jungege Mini Linux
      root (hd0,0)
      kernel /vnlinuz ro root=/dev/sda2  selinux=0 init=/sbin/init
      initrd /initramfs.img


 同时需要创建/bin/bash的软连接,防止内核不能被加载时出现"内核恐慌 Caught Single"

 

 

ln -sv /bin/bash sh


9 配置/mnt/sysroot/sbin/init 以实现开机加载网卡模块

 已配置eth0接口ip地址,route条目


 

#!/bin/sh
echo -e "Welcome to 33[32mjungege33[0m Linux"
mount -n -t proc /proc proc
mount -n -t sysfs sysfs /sys
insmod /lib/modules/e1000.ko
ifconfig lo 127.0.0.1/8
ifconfig eth0 192.168.1.155/24
route add -net 0.0.0.0 gw 192.168.1.253
/bin/bash



10 停止宿主机,新建虚拟机,选择"使用先现有有的虚拟磁盘" 从而选择1中的mini.vmdk

  开机启动

mini Linux系统选择界面

650) this.width=650;" src="/upload/getfiles/default/2022/11/18/20221118032902556.jpg" title="进入内核选择界面.png" />

欢迎界面

650) this.width=650;" src="/upload/getfiles/default/2022/11/18/20221118032902907.jpg" title="欢迎界面.png" />

 

网卡启动正常,可ping通外网

650) this.width=650;" src="/upload/getfiles/default/2022/11/18/20221118032903384.jpg" title="ping外网.png" />



以上微Linux系统的制作在宿主机与目标之间实现,使用了宿主机的原内核文件,自己定制了模块。从而可以打造适合自己的mini Linux.

但是并没有涉及到内核编译,编译内容敬请期待



求指导,共同成长。


本文出自 “西风瘦猪” 博客,请务必保留此出处http://jungege.blog.51cto.com/4102814/1367892

原文:http://jungege.blog.51cto.com/4102814/1367892


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐