设为首页 收藏本站
查看: 456|回复: 0

[经验分享] 使用busybox制作微Linux系统

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-6 08:50:21 | 显示全部楼层 |阅读模式
需要实验准备
1.Linux kernel: 2.6.18-398.el5(编译完成的内核)
2.busybox version: busybox-1.20.2.tar.bz2(原始下载文件)
3.虚拟机硬盘创建/dev/hda,并挂载至Linux中

制作步骤:

1.在www.busybox.net下载稳定版本 busybox-1.20.2.tar.bz2(原始下载文件)
2.[iyunv@www ~]# tar xf busybox-1.20.2.tar.bz2
3.[iyunv@www ~]# cd busybox-1.20.2
4.[iyunv@www busybox-1.20.2]# make menuconfig
5.[iyunv@www busybox-1.20.2]# make install
6.默认状态下,make install会出现错误。
7.下载内核版本比较高的linux-2.6.28.10
8.[iyunv@www ~]# tar xf linux-2.6.28.10.tar.gz -C /usr/src
9.[iyunv@www busybox-1.20.2]#mkdir include/mtd        --创建mtd文件夹
10.[iyunv@www busybox-1.20.2]#cd include/mtd/
11.[iyunv@www mtd]# cp /usr/src/linux-2.6.28.10/include/mtd/ubi-user.h .
12.[iyunv@www busybox-1.20.2]# pwd
        /root/busybox-1.20.2        --重新回到此目录
13.[iyunv@www busybox-1.20.2]# make install        --重新执行
14.[iyunv@www busybox-1.20.2]# cp -a _install/ /tmp/busybox        --执行完之后在文件夹中会生成_install, cp
15.[iyunv@www busybox]# pwd
        /tmp/busybox        --切换至此路径下
16.[iyunv@www busybox]# rm -f linuxrc        --删除软连接
17.[iyunv@www busybox]# mkdir etc dev proc sys mnt/sysroot tmp lib/modules -pv        --创建文件目录
18.因为busybox默认本身不支持ext3文件系统,所以需要在lib/modules目录下复制支持ext3文件系统的模块文件
[iyunv@www busybox]# modinfo ext3
filename:       /lib/modules/2.6.18-398.el5/kernel/fs/ext3/ext3.ko
license:        GPL
description:    Second Extended Filesystem with journaling extensions
author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
srcversion:     92609DA8337BBFF34F1E076
depends:        jbd
vermagic:       2.6.18-398.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
module_sig:        883f3505418e2c64014561c61e8fb9e112dc850a0d7887988407a3f77316d643bee4ac428515bd05b0a0c44313fa970d2f6d37ad6661d4f44c057bd4d6f
[iyunv@www busybox]# modinfo jbd
filename:       /lib/modules/2.6.18-398.el5/kernel/fs/jbd/jbd.ko
license:        GPL
srcversion:     C349852C2855CD69124C9C8
depends:        
vermagic:       2.6.18-398.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
module_sig:        883f3505418e2c64014561c61e8fb9e112e1ea09f64345dbfc6fc7547b48441499c94d2d2431eaa309e3576d1f121cfe7d8c11facf9ed7ea020e8a77dd3
19.[iyunv@www busybox]# cp /lib/modules/2.6.18-398.el5/kernel/fs/jbd/jbd.ko lib/modules/
   [iyunv@www busybox]# cp /lib/modules/2.6.18-398.el5/kernel/fs/ext3/ext3.ko lib/modules/
   [iyunv@www busybox]# ls lib/modules/
                ext3.ko  jbd.ko
20.[iyunv@www busybox]# mknod dev/console c 5 1
   [iyunv@www busybox]# mknod dev/null c 1 3
21.[iyunv@www busybox]# vim init
        #!/bin/sh
        #
        mount -t proc proc /proc
        mount -t sysfs sysfs /sys
       
        insmod /lib/modules/jbd.ko
        insmod /lib/modules/ext3.ko
       
        mdev -s
       
        mount -t ext3 /dev/hda2 /mnt/sysroot
        exec switch_root /mnt/sysroot /sbin/init
22.[iyunv@www busybox]# find . | cpio -H newc --quiet -o | gzip -9 > /mnt/boot/initrd.gz                --将路径中的文件压缩归档至/mnt/boot/目录
23.[iyunv@www boot]# grub-install --root-directory=/mnt /dev/hda
        /mnt/boot        此路径下
24.[iyunv@www boot]# vim grub.conf
default=0
timeout=3
title MyLinux (2.6.18)
        root (hd0,0)
        kernel /vmlinuz ro root=/dev/hda2
        initrd /initrd.gz
25.准备rootfs
26.[iyunv@www busybox-1.20.2]# cp -a _install/* /mnt/sysroot/
27.[iyunv@www sysroot]# mkdir proc sys dev tmp var/{log,lock,run} lib/modules etc/rc.d/init.d root boot mnt media -pv
28.[iyunv@www sysroot]#mknod dev/console c 5 1
   [iyunv@www sysroot]#mknod dev/null c 1 3
29.[iyunv@www sysroot]#vim etc/inittab
::sysinit:/etc/rc.d/rc.sysinit
console::respawn:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
30.[iyunv@www sysroot]#vim fstab
sysfs                /sys                sysfs        defaults        0 0
proc                /proc                proc        defaults        0 0
/dev/hda1        /boot                ext3        defaults        0 0
/dev/hda2        /                ext3        defaults        1 1
31.[iyunv@www sysroot]#mknod dev/console c 5 1
32.[iyunv@www sysroot]#mknod dev/null c 1 3
33.[iyunv@www sysroot]#vim etc/rc.d/rc.sysinit
#!/bin/sh
echo -e "Welcome to MageEdu Linux"

mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -o remount,rw /

mdev -s

mount -a
swapon -a
34.sync
35.sync


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-109918-1-1.html 上篇帖子: Linux系统中vim、find、bash环境变量、文件系统权限及磁盘管理相关命令 下篇帖子: Linux问题排查:丢失nginx.pid文件 Linux 制作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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