如何精简linux代码,精简linux

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)

7293b14fd1d992a38800d0cc81daf263.png

第一分区设置:

3478f869903b10312c13da23d83e1e4f.png

第二分区设置:

7202112e89ceed3488545a9185bf3790.png

第三分区设置:

f1b3ad43ad668d3a1a296e84297eb94a.png

格式化分区:

e43efc6a5facb0789590ed341cbe9535.png

隐藏分区挂载:

16c281fad024671fc5e3147879150804.png

分区查看:

b1f758b105b5b55172f31c43d0267d77.png

进入grub编译:

ddad197250d16610435f1cfd9a9d043d.png

6449d976fece43133e984b6e5dffcece.png

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

d289b8547ba522ee554be58941f1183c.png

三、编译内核及驱动

使用的内核可以在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}

5463f69d038ede4265f0e69fd5706878.png

95f32e4a9a2034cc95cd2ed31112aab2.png

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

26e545175c54c5c21d73eac76d085045.png

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

96e7d8d8621540023753ace01b34c142.png

e06ed2d3b29999c477c413009f900874.png

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

检查是否成功……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值