busybox的编译和根文件的制作

简介:
redhat9.0, 先#redhat-config-packages进入软件包管理把开发工具包全部打上.

1先到www.busybox.net下载busybox.tar.gz软件
2:以root权限#tar -zxvf busybox-1.0.tar.gz解压
3:#cd busybox-1.0
4:#make menuconfig进入菜单界面把 1:general configuration(*),show verbose applet usagemessage(*),runtime suid/sgid configuration via/etc/busybox.conf(*)2:build option build busybox as staic binary采用静态编译不要用到动态链接库.3install option don`t /usr一定要选,其他一些命令你自己选.然后esc键出来它询问你是否要保存你就yes然后
5#make
6#make install或make PERFIX=你要装的目录举个例子/tmp目录#make PERFIX=/tmp install.
7编译好之后你到busybox-1.0中可以看见一个_install的目录那就是你编译的文件有/sbin /bin linuxrc
用命令#ls -l 看一下可以发现linuxrc -> /bin/busybox其实是一软链接.1.0版本默认自动可以给你创建但别的高的版本有一个选项要你选择init,其实/sbin /bin里面的都是链接busybox的软链接,你可以到_install目录下#./busybox你就会看见你自己编译进去的命令有多少, 举个例子如果我把_instal目录里的 ls删去也没多大的关系因为它是指向busybox的链接你可以自己创建#ln -s busybox ls就可以创建ls->busybox其实也可以#./busybox ls相当用了ls命令前提你要把ls命令编译进去.
7_install目录下有一个有个init.d的目录里面有个rcS的脚本
mount -a表示一起动挂载fstab中所有的文件.你可以在里面写
#! /bin/sh
PATH=/bin:/sbin
export PATH
mount -a
ifconfig eth0 192.168.18.22 up这是以模块加载用的,如果你直接把网卡编译到内核你可以ifconfig eth0 192.16.22
modprobe 你开机需要加载的模块名比方8139too 是8139网卡模块2.4内核是8139too.o,2.6内核是8139too.ko
modprobe 8139too自动加载模块主要依靠/lib/modules/module.dep文件
8:inittab和系统的不太一样其实很简单它么有什么runlevel
内容如下:
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::ctrlaltdel:/sbin/reboot
基本上完成了busybox编译你可以在建根目录下其他的文件 /sbin ,/ bin, busybox目录_install目录有了,v目录拷贝系统/dev目录中的设备结点用以下是一定要的 mem(物理内存存取) null为黑洞什么数据进去都化为无形.zero以null byte零值字节为数据来源.random为真随机书产生器,tty0为现行的虚拟控制台,tty1为第一个虚拟控制台,ttyS0为第一个uart串行端口,tty为现行的tty设备.console为系统控制台.还有如果你用的是ide的硬盘就拷贝hda1,2,3.....如果是SATA你就考sda1,2,3.....
以上用命令考#cp -R /dev/mem /你的u盘要不cf.dom盘里其余一样做.
根目录至少有/etc, /dev , /bin, /sbin /proc /root 不过你如果要启动加载模块最好把/lib目录建上还有要在小系统上运行某个程序最好用ldd查看链接库拷贝到/lib相应的目录.
/proc目录为空主要管理内核它主要是内存的映射
/dev为以上的那些设备
/sbin和/bin在_install目录拷出来就行
/root为空
/etc文件有init.d目录, fstab目录可以参考系统本身的fstab
其实也可以参考_install目录的的例子文件夹里的floppy 文件夹里的文件复制到你的/etc目录就行
根目录好了就开始编译内核,我也不多说了.其实也可以到系统/boot目录里用系统的vmlinuz-2.x.y和initrd.img文件


本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/327703,如需转载请自行联系原作者

相关文章
|
Linux
通过HTTP方式自建CentOS系列Yum源
通过HTTP方式自建CentOS系列Yum源
352 0
|
4月前
|
Ubuntu 安全 Linux
Linux系统入门指南:从零开始学习Linux
Shell脚本是一种强大的自动化工具,可以帮助您简化重复的任务或创建复杂的脚本程序。了解Shell脚本的基本语法和常用命令,以及编写和运行Shell脚本的步骤,将使您更高效地处理日常任务。
492 0
|
弹性计算 Docker Windows
阿里云Windows Server 2016环境Docker试用
前文我们介绍过在本地Windows10环境中,基于Hyper V容器的Docker使用。现在阿里云已经提供了Windows Server 2016支持,我们来亲自体验一下原生的Windows Server容器吧。
28438 0
|
Oracle Java 关系型数据库
Linux centos7.0搭建Java开发环境(保姆级教程)
Linux centos7.0搭建Java开发环境(保姆级教程),包括JDK,Tomact,mysql的安装与部署和jar与war二种方式的项目创建与部署。
Linux centos7.0搭建Java开发环境(保姆级教程)
|
9月前
|
人工智能 搜索推荐
基于 PAI-ArtLab 使用 ComfyUI 生成人像写真
本实验基于SDXL、InstantID技术,解决AI人像摄影中人物面部特征在风格迁移与图像放大后无法高度还原的问题。内置6种儿童风格提示词模板及提示词翻译模块,支持中文书写相关图像提示词测试个性化风格。需登录阿里云PAI ArtLab平台操作,领取免费试用资源后,通过ComfyUI(专享版)拉起服务并加载工作流,上传图片、选择草图、更换连线等步骤生成不同风格成果。还提供自定义风格模块和常见问题解答,方便用户解锁更多玩法。
|
前端开发
灯光效果,触手可及:CSS动画让网页设计更出彩!
灯光效果,触手可及:CSS动画让网页设计更出彩!
|
监控
如何确保多路直播中的视角多样性和同步性?
如何确保多路直播中的视角多样性和同步性?
199 0
|
Java API 数据处理
学会在Java中使用流式API
学会在Java中使用流式API