导航:首页 > 编程系统 > linuxmini

linuxmini

发布时间:2024-11-22 13:01:47

『壹』 如何制作最简minilinux

自己定制linux系统这个是需要非常了解和理解linux内核和其他系统代码方面知识才能完成的(以下是知识准备):Linux的启动过程原理
initramfs的本质,如何编译内核,制作OpenStack镜像的根本原理
initramfs, 内核,镜像之间的关系
chroot的根本原理,以及网上将linux安装在arm的安卓手机的基本原理
简要说下系统定制的基本流程(步骤):
创建工作目录
使用busybox生成根文件系统中的bin等目录
创建服务启动脚本与inittab文件与fstab文件
创建根文件系统的init脚本(initrc使用linuxrc,而initramfs使用init脚本,所以先删除busybox为initrc生成的默认的linuxrc文件,rm-rf$LINUX/linuxrc),init文件可以是任何ELF格式的可执行性文件,例如如果是一个编译过的C程序也是可以的,记得安装编译c文件要用到的库:sudoyum install -y glibc-static libstdc++-static。
使用chroot在未make内核之前就可以先测试initramfs
构建initramfs,先配置支持Generalsetup -> Initial RAM filesystem and RAM disk (initramfs/initrd)support (默认就是支持的),再将linux内核的CONFIG_INITRAMFS_SOURCE(Generalsetup -> initramfs sourcefile(s))指向这个目录,然后执行make命令内核就会自动构建生成initramfs了(是一个压缩过的cpio档案文件),并且将它链接到内核镜像中。
调试验证。可以使用物理机验证,也可以采用qemu虚机验证。如果使用物理机来验证的话,本来可以直接使用makeinstall命令自动安装,但最好不要这么做,因为它会自动执行updategrub命令来破坏你的grub文件,可以手工做:
initramfs是一个最小化的根文件系统,它的根本目的是为了为切换到新的根文件系统做准备。initrd方式使用pivot_root命令切换到新的根文件系统,然后卸载ramdis,但是initramfs方式由于它是本身就是rootfs(rootfs是ramfs的一个实例)位于内存中,所以它既不能pivot_root,也不能umount,是常驻内存的。
对模块的支持,到目前为止,我们在构建initramfs时还没有涉及内核模块的支持,所用到的硬件驱动程序都是直接编译到内核中。现在我们就看看如何使initramfs支持内核模块。
总结:
整个过程是,initrc或者initramfs都是一个运行在内存的小根文件系统,它有一个叫init的脚本,做完一些准备工作之后,如加载硬件的驱动,然后会切换到镜像所在的新根文件系统上。

阅读全文

与linuxmini相关的资料

热点内容
苹果用的什么卡 浏览:907
如何成为编程开发技术 浏览:792
gta55号升级档4号 浏览:924
温度程序控制电路 浏览:880
网络如何接入路由器 浏览:126
苹果27寸一体5k好吗 浏览:65
网络ip地址不对 浏览:761
联盟会员网站上应该有哪些内容 浏览:957
编程里ch什么意思 浏览:644
宝山桌上文件柜多少钱 浏览:884
电信网络电视怎么看直播电视 浏览:319
直播带货运营怎么做数据 浏览:882
linux系统csv文件打开乱码 浏览:624
js平方根计算 浏览:474
命令提示符如何看网络结构 浏览:921
mac的lr配置文件路径 浏览:424
在电脑上怎么qq传文件怎么打开不了 浏览:154
百度云怎么找本地文件 浏览:661
小米4怎样把程序加密 浏览:118
苹果手机屏幕6个密码 浏览:882

友情链接