如何制作自己的LINUX系统?

来源:百度知道 编辑:UC知道 时间:2024/06/20 17:13:47
看到一篇文章说,windows像汽车,而LINUX可以自行配置得像轻型摩托车一样,我希望懂得如何制作自己想要的系统,把不需要的功能统统去掉,不怕学习难,就怕没有师傅引导,本人有编程基础,请告诉我应该看哪些关键书籍。
1楼你好,本人是LINUX门外汉,用win好几年了,不想这么不稳定下去,希望找一款终身使用的系统,而且不是想学学LINUX的使用就好了,还想学内核,知道它的构造,去掉多余的功能,这样才不会老是被攻击什么的

2楼你好,请问要学多久

自己定制linux系统这个是需要非常了解和理解linux内核和其他系统代码方面知识才能完成的(以下是知识准备):

  1. Linux的启动过程原理

  2. initramfs的本质,如何编译内核,制作OpenStack镜像的根本原理

  3. initramfs, 内核,镜像之间的关系

  4. chroot的根本原理,以及网上将linux安装在arm的安卓手机的基本原理


简要说下系统定制的基本流程(步骤):

  1. 创建工作目录

  2. 使用busybox生成根文件系统中的bin等目录

  3. 创建服务启动脚本与inittab文件与fstab文件

  4. 创建根文件系统的init脚本(initrc使用linuxrc,而initramfs使用init脚本,所以先删除busybox为initrc生成的默认的linuxrc文件,rm-rf$LINUX/linuxrc),init文件可以是任何ELF格式的可执行性文件,例如如果是一个编译过的C程序也是可以的,记得安装编译c文件要用到的库:sudoyum install -y glibc-static libstdc++-static。

  5. 使用chroot在未make内核之前就可以先测试initramfs

  6. 构建initramfs,先配置支持Generalsetup -> Initial RAM filesystem and RAM disk (initramfs/initrd)support (默认就是支持的),再将linux内核的CONFIG_INITRAMFS_SOURCE(Generalsetup -> initramfs sourcefile(s))指向这个目录,然后执行make命令内核就会自动构建生成initramfs了(是一个压缩过的cpio档案文件),并且将它链接到内核镜像中。

  7. 调试验证。可以使用物理机验证,也可以采用qemu虚机验证。如果使用物理机来验证的