- 论坛徽章:
- 0
|
一个月前,我在此寻求帮助,虽然没有人可以完全解答我的问题,
但是,还是有许多人给了我一点帮助,现在我作出来了,
为了感谢大家,在此公布技术细节:
这是关于制作"微型linux系统"的过程:
(1)下载linux-2.4.18内核源代码,不知道下载地址的,到google里面找;
(2)下载i810fb-2.4.18的补丁,不知道下载地址的,到google里面找;
必须注意的是:使用patch-i810fb-2.4.18-0.0.20a-agpgart.tar.bz2
的补丁包才ok;
(3)展开linux-2.4.18内核到"/usr/src/linux-2.4.18",
展开i810fb-2.4.18补丁包到"/usr/src/",
补丁包包含"i810"目录以及一个"diff"文件;
(4)为linux-2.4.18内核源代码,打补丁:
"cd /usr/src/"
"patch -p0 < patch-i810fb-2.4.18-0.0.20a-agpgart";
(5)编译linux-2.4.18内核;
"make clean"
"make menuconfig"
"make dep"
"make bzImage"
把不需要的全部干掉;保留以下东西:
Ext2文件系统,你需要的网卡驱动,
IDE支持,鼠标(ps/2)支持,键盘支持,
ram盘支持,devfs自动绑定,图形控制台,
i810fb支持,arggart的intel的支持;
如果你还需要其他东西,自己添加;
(6)下载busybox-1.0-rc3;然后编译;
"make menuconfig"
"make install"
除非你知道自己不需要,否则,就全选"
(7)制作initrdz.img;
这个东西,是个小小的ext2文件系统的映像的gz的压缩;
"dd if=/dev/zero of=/tmp/initrdx.img bs=1k count=16384"
**我要用的是个16M大小的RAM盘;
"losetup /dev/loop0 /tmp/initrdx.img"
"mke2fs -m 0 /dev/loop0"
"mkdir /mnt/temp"
"mount /dev/loop0 /mnt/temp"
"cp busybox/_install/* /mnt/temp/ -r"
**复制busybox的东西,到RAM盘
"mkdir /mnt/temp/var"
"mkdir /mnt/temp/dev"
"mkdir /mnt/temp/tmp"
"mkdir /mnt/temp/mnt"
"mkdir /mnt/temp/lib"
"mkdir /mnt/temp/root"
"mkdir /mnt/temp/home"
"mkdir /mnt/temp/etc"
....总之,你的根文件系统里面有什么,就要让它里面也有什么,
子目录不必管,目录里面有什么也不必管,busybox已经
为你添加了,比如/bin,/sbin,/var这些目录里面,已经ok了;
( 压缩RAM盘:
"sync"
"umount /dev/loop0"
"losetup -d /dev/loop0"
"dd if=/tmp/initrdx.img | gzip -9 >; /tmp/initrdz.img"
(9)使用lilo添加启动项目:
"cp /tmp/initrdz.img /boot/"
"cp /usr/src/linux-2.4.18/arch/i386/boot/bz* /boot/bzImage.xxx"
"vi /etc/lilo.conf"(添加一个linux的启动)
"lilo"
"reboot" |
|