制作mini Linux系统

Linux就是个尤物

制作微型linux系统流程

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

查看当前宿主机硬盘信息

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

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

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

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

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

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 $*;dodirName=`dirname $i`[ -d /mnt/sysroot$dirName ] || mkdir -p /mnt/sysroot$dirNamecp $i /mnt/sysroot$dirName/echo “the lib are copied to the it’s dir”done}read -p “input a exec commond: ” Commondlib `which $Commond`path=`which $Commond`lib `ldd $path |grep -o “/[[:graph:]]”`

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

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

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

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

ln -sv /bin/bash sh

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

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

#!/bin/shecho -e “Welcome to \033[32mjungege\033[0m Linux”mount -n -t proc /proc procmount -n -t sysfs sysfs /sysinsmod /lib/modules/e1000.koifconfig lo 127.0.0.1/8ifconfig eth0 192.168.1.155/24route add -net 0.0.0.0 gw 192.168.1.253/bin/bash

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

开机启动

mini Linux系统选择界面

欢迎界面

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

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

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

求指导,共同成长。

本文出自 “西风瘦猪” 博客,请务必保留此出处

你说,你可以把它取下来吗?当我要取的时候,你淘气的躲开了,

制作mini Linux系统

相关文章:

你感兴趣的文章:

标签云: