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)

wps_clip_image-2887

第一分区设置:

wps_clip_image-20262

第二分区设置:

wps_clip_image-18031

第三分区设置:

wps_clip_image-8915

格式化分区:

wps_clip_image-26140

隐藏分区挂载:

wps_clip_image-30033

分区查看:

wps_clip_image-21813

进入grub编译:

wps_clip_image-748

wps_clip_image-28625

然后需要在/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保存配置文件。

wps_clip_image-27764

三、编译内核及驱动
使用的内核可以在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}

wps_clip_image-31818

wps_clip_image-3193

然后设置库文件,之后设置编译inittab文件脚本:

wps_clip_image-27144

再进行rc.sysinit脚本编译:(在此之前先准备依赖文件)

wps_clip_image-32632

wps_clip_image-27518

接着同步多次sync,重新启动。

检查是否成功……