Linux精简
一、概述
精简Linux系统的主要目的是将Linux系统使用固态盘等小容量flash存储设备来替代PC机上面的硬盘。解约成本、减少体积、提高速度以及延长使用寿命和稳定性。精简Linux的主要方法就是通过更换Linux的系统环境进行的。主要的过程是使用内存文件系统替换硬盘文件系统,使用busybox替换Linux的init进程、常用命令和shell,使用Framebuffer替换X11库。
二、准备工作
在精简之前,需要安装引导程序,用来引导我们精简之后的Linux系统,并且传递必要的参数给内核。我们使用的引导器是grub.通常我们的Linux系统中都带有grub,在命令下面敲入grub可以进入grub的命令行。在装入grub之前,先使用fdisk进行分区。格式化好之后,将分区挂载到文件系统中,建立/boot/sysroot /路径,将系统的/boot/sysroot /下面的文件拷贝到/boot/sysroot 下。将它挂载到/mnt/,使用如下的命令进行操作:
#mount /dev/sda1 /mnt/
#mkdir /mnt/boot
#mkdir /mnt/boot/sysroot
#cp /boot/grub/stage* /mnt/boot/sysroot/
然后,使用grub修改分区盘的MBR记录,使用下面的命令进行操作:
grub
root (hd1,0)
setup(hd1)
第一分区设置:
第二分区设置:
第三分区设置:
格式化分区:
隐藏分区挂载:
分区查看:
进入grub编译:
然后需要在/boot/sysroot目录下建立配置文件grub.conf,采用如下的方式建立的:
#vim /mnt//boot/sysroot/grub.conf
然后在文件中写入如下内容:
default =0
timeout =5
title redhat linux 5.4
root (hd0,0)
kernel /vmlinux-2.6.18-164.e15 ro root=/dev/sda2 quiet
initrd /image.gz
使用wq保存配置文件。
三、编译内核及驱动
使用的内核可以在http://www.linux.org下载,文件名是linux-版本。
驱动文件也可从网站下载。
使用以下功能进行解压:
#tar –jxvf linux-版本
解压整个文件之后,进入linux-版本 的源代码目录,然后对代码进行编译。编译过程如下:
make menuconfig
对内核进行配置。进入配置界面之后,设置
#vim init
进入后禁用 # resume LABEL=SWAP-sda3
在根分区下建立相应的文件夹:
【有关复制文件脚本:】【如下】
{ #!/bin/bash
while true
do
read -p "command: " C
A=`which $C`
if [ -e $A ]; then
`cp $A /mnt/sysroot$A`
B=`ldd $A |grub '/' |cut -f 3 -d / |cut -f 1 -d "("`
if [ `echo $?` -eq 0 ]; then
for i in $B
do
`cp /lib/$i /mnt/sysroot/lib`
done
fi
fi
done}
然后设置库文件,之后设置编译inittab文件脚本:
再进行rc.sysinit脚本编译:(在此之前先准备依赖文件)
接着同步多次sync,重新启动。
检查是否成功……
转载于:https://blog.51cto.com/ycylong/1272364