免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 683 | 回复: 0
打印 上一主题 下一主题

Linux 裁减实践 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-01 10:53 |只看该作者 |倒序浏览

很久以来就想按照自己的需求来裁减一个Linux操作系统,但是最近几天才开始动起来。一开始尝试着用LFS的方式去做,但是做了5、6次都没有成功,晕死了。后来参考网络上的制作Mini Linux和USB Linux的方式来做,这个方法也尝试了很多次(不下10多次,本人比较笨,没办法),最后还是成功了!呵呵,开心啊!

第一步,尽量裁减一个小的系统,能够启动,并能进入shell。
这个要求很简单,只要系统能够进入shell,哪怕它什么都做不了,但是它的成功会给后面的裁减带来信心的。

实现的步骤:
step by step

一、准备工作:
1、安装VMware虚拟机(这个步骤很简单,不赘述了)
2、在虚拟机中安装一个发行版Linux,我安装的是Magic Linux 2.0,这个系统安装好后会有编译环境的。
3、另外在虚拟机中再新建一个Linux虚拟机,但是不安装系统。(测试用的)
4、下载Linux内核源代码和busybox到本地硬盘上。
       我下载的是:linux-2.6.21.tar.bz2,busybox-1.00.tar.bz2
5、配置好VMware的网络,用来传输源代码和busybox。
       我的配置是:
VMware的网络设置成Host-only,VMware Network Adapter VMnet1的IP地址设置成192.168.0.1;
Magic Linux中的网络采用手动的设置,设置成192.168.0.5。
6、将kernel源代码和busybox源码复制到Magic Linux下
       通过samba的方式,将linux-2.6.21.tar.bz2,busybox-1.00.tar.bz2复制到/home目录下,然后关闭Magic Linux。
7、在Magic Linux系统中添加一个硬盘,这个硬盘就是我们用来测试的虚拟机硬盘。
在Magic Linux虚拟机中,点击“Virtual Machine Setting”-“Add”-“Hard Disk”-“Use an existing virtual disk”,然后选中Test Linux下面的虚拟硬盘“Other Linux.vmdk”
二、编译内核:
1、启动Magic Linux,在grub中选择(single mode)
2、启动完成后
3、cd /home
       tar xvf linux-2.6.21.tar.bz2
       cd /usr/src
       ln –s /home/linux-2.6.21 linux
       cd linux
       make mrproper
       make menuconfig  (详细配置见后面)
       make dep
       make bzImage
4、内核配置
Code maturity level options  不选中
General Setup
       System V IPC选中
其它的不选
Loadable module support
       Enable loadable module support
       不选中(这样比较简单)
Block layer
       IO Schedules里面的全选
       其它的都不选中
Processor type and features
       Processor family (…)根据你电脑中的CPU型号去选择
       Generic x86 support 选中
       其它的一概不选中
Power management options
       这里面的都不选中
Bus support
       PCI support选中
       MCA support 项全选中
       其它内容都不选中 (选中这两项才可以将SCSI的驱动加到内核中)
Executable file formats
       里面的内容全选中
Networking
       里面的内容包括子选项里面的内容都不选中
Device drivers
       SCSI device support
              SCSI device support
              SCSI disk support

       Input device support
              keyboards
                     XT keyboard
              Mouse
                     PS/2 mouse
       Graphics support
              Support for frame buffer devices
              VESA VGA graphics support
              Console display driver support
                     Frambuffer项选中
       这里面就这几项选中,其它的都不选,包括里面的子选项
File system
       Ext2和Ext3都选上
       ROM file system support选上
       其它的都不选中,包括里面的子选项

Kernel hacking及剩下的都不选

然后保存.conifg
              

三、编译busybox
       cd /home
       tar xvf  busybox-1.00.tar.bz2
       cd busybox
       make menuconfig(配置的时候选中static link就好了,其它的默认)
       make
       make install
      
四、格式化另外一块硬盘
       fdisk /dev/sdb
       然后依次输入
       m
       n
       p
       1
      
      
       m
       w
       mkfs.ext3 /dev/sdb1
       格式化完毕

五、加载/dev/sdb
       mkdir /mnt/test
       cd /mnt/test
       mkdir boot
       mkdir boot/grub

六、建立grub配置文件
       cp /boot/grub/stage1 /mnt/test/boot/grub/
       cp /boot/grub/stage2 /mnt/test/boot/grub/
       cp /boot/grub/e2fs_stage1_5 /mnt/test/boot/grub/
       vi /mnt/test/boot/grub/menu.lst
       menu.lst:
       default=0
       timeout=20
       title Test Linux
              root (hd0,0)
              kernel /boot/bzImage noinitrd root=/dev/sda1 rw
      
       编辑完menu.lst后,保存

七、建立文件系统
# cd /mnt/test/
# mkdir dev etc etc/init.d proc mnt tmp var
# chmod 777 dev etc etc/init.d proc mnt tmp var
# chmod 555 proc
# cd dev
# mknod tty c 5 0
# mknod console c 5 1
# chmod 666 tty console
# mknod tty0 c 4 0
# chmod 666 tty0
# mknod ram0 b 1 0
# chmod 600 ram0
# mknod sda1 b 2 0
# chmod 600 sda1
# mknod null c 1 3
# chmod 666 null
建启动配置文件:
/etc/inittab,
/etc/init.d/rcS,
/etc/fstab

initab:
::sysinit:/etc/init.d/rcS
::respawn:/bin/sh

rcS:
#!/bin/sh
echo “Welcome to Test Linux”
mount –a

# chmod 755 init.d/rc.S

fstab:
proc /proc proc defaults 0 0


# cp –arR /home/busybox/_install/* /mnt/test/
# touch /mnt/test/etc/busybox.conf
# cd /
# umount /dev/sdb1  (不卸载的话,安装grub到sdb会出错)
八、安装grub到/dev/sdb1
# grub
Ø       root (hd1,0)
Ø       setup (hd1)
Ø       quit
九、启动Test Linux
    先关闭Magic Linux
    启动Test Linux

文件:
裁减Linux系统.pdf
大小:
226KB
下载:
下载











本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/34137/showart_433873.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP