自制Linux精简系统
本系统是基于CentOS6.8
步骤如下:
自制Linux系统
(1)分区并创建文件系统
fdisk /dev/sdb
分两个必要的分区
/dev/sdb1 对应 /boot /dev/sdb2 对应根 /
创建文件系统 mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2
(2)挂载boot分区
mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot
(3)安装grub
grub-install --root-directory=/mnt /dev/sdb
(4)恢复内核和initramfs文件
cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/
cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot
(5)建立grub.conf
vim /mnt/boot/grub/grub.conf
default=0
timeout=5
title=nineven linux
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2 selinux=0 init=/bin/bash
initrd /initramfs-2.6.32-642.el6.x86_64.img
(6)挂载跟系统
mkdir /mnt/sysroot
mount /dev/sdb2 /mnt/sysroot
mkdir -pv /mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}
复制bash和相关的库文件
复制相关命令及相关库文件,比如: ls ,cat ,vim ,reboot ,fdisk ,mount ,hostname 等待
(7)验证bash是否可用
chroot /mnt/sysroot
(8)同步数据到磁盘上
sync 命令,多执行几次
操作流程如下:
我用的是虚拟机模拟的
(1) 先添加一块硬盘,然后通过
1
|
echo
"- - -"
>>
/sys/class/scsi_host/host2/scan
|
扫描出新增的硬盘
(2)分区
(3)格式化文件系统
(4)boot 分区操作
(5)根分区操作
复制bash和相关的库文件,我用的是提前写的脚本,脚本请往后看
验证成功,最后检查一下 /mnt/sysroot/etc/fstab 和 /mnt/boot/grub/grub.conf 文件,最后确认一下配置是否正确
然后新建一个虚拟机,用这块磁盘作为系统盘,检查一下是否可用开机
开机界面
由于是精简系统,好的功能都用不了
复制库文件及命令的脚本
1
|
[root@localhost Desktop]
# vim /boot/cmd.sh
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#!/bin/bash
flag=1
read
-p
"please input a path that you want to copy : "
mubiaodir
panduanlujing(){
path=$(
dirname
$mubiaodir$ki)
if
[ ! -e $path ];
then
mkdir
-p $path
fi
cp
$ki $mubiaodir$ki &>
/dev/null
|| flag=0
}
kuwenjian(){
for
ki
in
$(ldd $(
which
--skip-
alias
$cmdname) |
sed
-rn
"s@.*[[:space:]]([/].*)[[:space:]].*@\1@p"
) $(
which
--skip-
alias
$cmdname);
do
panduanlujing
done
}
while
true
;
do
read
-p
"please input a command name , quit is exit:"
cmdname
if
[
"$cmdname"
==
"quit"
-o
"$cmdname"
==
"exit"
];
then
break
else
if
(ldd $(
which
--skip-
alias
$cmdname)) &>
/dev/null
;
then
kuwenjian
[ $flag -
eq
1 ] &&
echo
"复制成功"
||
echo
"权限不足,复制失败"
else
echo
"错误的命令名称"
fi
fi
done
|
转自: http://liuyuworld.com/2016/09/10/%e8%87%aa%e5%88%b6linux%e5%be%ae%e7%b3%bb%e7%bb%9f/
转载于:https://blog.51cto.com/luxiangyu/1852637