ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 8583|回复: 0
打印 上一主题 下一主题

[转帖]自己做个迷你型linux

[复制链接]
跳转到指定楼层
顶楼
发表于 2006-4-24 13:44:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
hda1----新装的RH9<br>
hdc1----64M的硬盘,生成的小型linux就装在这个盘上,还未分区格式化。<br>
环境:ms的虚拟机5.1版。<br>
<br>
先重新编译内核,把不需要的全部去掉,这样模块也只有几M了。编译后生成了<br>
内核:vmlinuz-2.4.20-8custom<br>
initrd:initrd-2.4.20-8custom.img(这个没用到,在GRUB中使用它反而不能启动了,提示要加init内核参数。)<br>
可加载模块:/lib/modules/2.4.20-8custom<br>
<br>
fdisk /dev/hdc 分区,并激活,保存后退出。<br>
mkext2fs /dev/hdc1<br>
mkdir /mnt/hd2<br>
mount /dev/hdc1 /mnt/hd2<br>
mkdir /mnt/hd2/boot/grub -p<br>
cp /boot/vmlinuz.2.4.20-8custom /mnt/hd2/boot/ -a<br>
cp /boot/initrd.2.4.20-8custom /mnt/hd2/boot/ -a<br>
cp /boot/grub/stage? /mnt/hd2/boot/grub/ -a<br>
cp /boot/grub/grub.conf /mnt/hd2/boot/grub/ -a<br>
cp /boot/grub/e2fs_stage1_5 /mnt/hd2/boot/grub/ -a<br>
然后运行:grub<br>
root (hdc1,0)<br>
setup (hdc)<br>
quit<br>
这样,小硬盘就能启动了(不过进不了系统,内核启动完后就死了)。但是记得要配置一下grub.conf,改成:<br>
default=1<br>
timeout=10<br>
title linux<br>root (hd0,0)<br>kernel /boot/vmlinuz-2.4.20-8custom ro root=/dev/hda1<br>
不能够加入initrd,要不然会出错的,不清楚原因。有谁知道的可以告诉我吗?<A HREF="mailto:cexoyq1020@163.com">cexoyq1020@163.com</A>,谢谢了。<br>
<br>
制作文件系统<br>
建立目录:/home,/mnt,/proc,/lib,/sbin,/bin,/root,/etc,/dev<br>
需要的文件:/dev<br>
/dev/console<br>
系统控制台设备,非常重要。<br>
/dev/fd0<br>
第一个软驱<br>
/dev/hda<br>
/dev/hda[1-8]<br>
IDE硬盘及分区<br>
/dev/initctl<br>
实际上是一个FIFO设备,跟init有关(切换运行级别时用于新init与原init通信)<br>
/dev/initrd<br>
Initial RAM disk<br>
/dev/input<br>
(目录)Input core(包括游戏杆、鼠标等)<br>
/dev/kmem<br>
内核虚拟内存<br>
/dev/loop[0-7]<br>
Loopback设备<br>
/dev/mem<br>
访问物理内存<br>
/dev/null<br>
NULL设备<br>
/dev/psaux<br>
PS/2鼠标<br>
/dev/ptmx<br>
UNIX98 PTY master<br>
/dev/pts<br>
(目录)UNIX98 PTY slaves<br>
/dev/ptyp[0-7]<br>
伪终端主设备(远程登录使用)<br>
/dev/ram[0-7]<br>
/dev/ramdisk<br>
/dev/ram<br>
RAM Disk设备。至少/dev/ram0是应用initrd机制所必须的。<br>
/dev/ramdisk链接到/dev/ram0,是为了兼容老版本内核而保留的。<br>
/dev/ram链接到/dev/ram1。<br>
/dev/random<br>
随机数发生器<br>
/dev/sda<br>
/dev/sda[1-8]<br>
SCSI磁盘及分区设备<br>
/dev/shm<br>
共享内存设备<br>
/dev/systty<br>
指向系统tty设备的符号链接,一般是tty0。<br>
/dev/tty<br>
当前TTY设备<br>
/dev/tty[0-7]<br>
虚控制台(Virtual console)<br>
/dev/ttyp[0-7]<br>
伪终端从设备<br>
/dev/ttyS0<br>
/dev/ttyS1<br>
串口(COM1和COM2)<br>
/dev/urandom<br>
速度更快、安全性较差的随机数发生器<br>
/dev/zero<br>
零设备,只能读0出来<br>
需要的文件:/etc<br>
etc/default<br>
(目录)某个命令(比如useradd)的缺省设置(man useradd(8))<br>
/etc/ld.so.cache<br>
由ldconfig命令根据/etc/ld.so.conf文件产生<br>
/etc/ld.so.conf<br>
库文件路径配置文件,ldconfig命令根据该配置文件生成/etc/ld.so.cache<br>
/etc/localtime<br>
本地时间、时区设置<br>
/etc/login.defs<br>
全局缺省设置<br>
/etc/fstab<br>
文件系统列表(man fstab(5))<br>
/etc/group<br>
组文件(man group(5))<br>
/etc/hosts<br>
列出主机名和IP地址(man hosts(5))<br>
/etc/init.d<br>
符号链接到/etc/rc.d/init.d<br>
/etc/initlog.conf<br>
Initlog日志配置文件(man initlog(8))<br>
/etc/inittab<br>
Init配置文件(man inittab(5))<br>
/etc/ioctl.save<br>
该文件包含了用于单用户模式的串口和终端参数,因为这些参数是由getty设置的,<br>
而在单用户模式时没有运行getty,所以用该文件保存参数。单用户模式对系统安全<br>
是个威胁,我们应该禁止使用单用户模式,因此这个文件实际上并没有必要复制过<br>
来。<br>
/etc/issue<br>
登录信息和标识文件(man issue(5))<br>
/etc/modules.conf<br>
模块的配置文件(man modules.conf(5))<br>
/etc/mtab<br>
已经挂载的文件系统列表(man mount(8))<br>
/etc/nsswitch.conf<br>
Name Service Switch的配置文件(配置名称服务数据源和查询的顺序)(man nss<br>
witch.conf(5))<br>
/etc/pam.d<br>
放置PAM配置文件的目录(有关PAM请参考5.5节)<br>
/etc/passwd<br>
用户口令文件(man passwd(5))<br>
/etc/profile<br>
系统环境变量和登录配置文件<br>
/etc/rc.d<br>
放置启动脚本的目录<br>
/etc/services<br>
列出可用的网络服务及其端口(man services(5))<br>
/etc/termcap<br>
终端(terminal)功能数据库(man termcap(5))<br>
另外,跟网络参数有关的文件也要一一拷贝过来。要不然就得手动配置网络参数了。<br>
<br>
需要的文件:/lib<br>
用“ldd 命令名称” 来取得命令所需要的LIB库,然后拷贝过来(要建立相应的目录)。<br>
<br>
/bin和/sbin:根据自己的需要拷贝相应的文件。我把iptables,tc等拷贝过去。<br>
<br>
需要的文件:/lib/modules<br>
整个拷贝重新编译内核后的整个"2.4.20-8custom"目录,因为经过了裁剪,所以我的只有5M,不大可以完全使用。这个很重要,网络的驱动,<br>
iptables,tc等都靠它了。<br>
<br>
下载busybox并编译安装。<A HREF="http://www.busybox.net/downloads" TARGET=_blank>http://www.busybox.net/downloads</A><br>
下载最新版的busybox-1.1.2.tar.bz2到/root<br>
解压后进入busybox-1.1.2<br>
make menuconfig -----选自己需要的命令,也可以从源RH9中拷贝,不过那样就要拷LIB,麻烦。记得要选静态编译,还有init.<br>
make<br>
makeinstall<br>
完成后在目录下生成“_install”目录,把所有目录及文件拷贝到小硬盘中。<br>
<br>
重新配置/etc/inittab,/etc/fstab,/etc/rc.d/rc.sysinit<br>
/etc/inittab<br>
::sysinit:/etc/rc.d/rc.sysinit<br>
::askfirst:-/bin/sh<br>
tty2::askfirst:-/bin/sh<br>
tty3::askfirst:-/bin/sh<br>
tty4::askfirst:-/bin/sh<br>
::restart:/sbin/init<br>
::ctrlaltdel:/sbin/reboot<br>
::shutdown:/bin/umount -a -r<br>
::shutdown:/sbin/swapoff -a<br>
<br>
/etc/fstab<br>
proc /proc proc defaults 0 0<br>
<br>
/etc/rc.d/rc.sysinit<br>
#!/bin/sh<br>
mount -a<br>
添加自己的启动脚本。<br>
<br>
然后关机,在虚拟机中把小硬盘设置成第一个硬盘,也就是(hd0,0)<br>
就可以看到你的mini-linux在跑了。<br>
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-4-20 22:17

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表