• 杂谈:我是怎么去定制ubuntulivecd的?


    如题。

    我为什么要定制?

    首先就是原始的livecd不适合我,他觉得自己普适了,也满足他自己的意图了,可用户(我)的呢?

    体积偏大!

    还进入安装界面!

    启动过程满满的各种服务、消息,欺负用户(我)不懂是吧?!

    还有,我就想当做vm环境中的急救live盘,你给我整这么多没用的干嘛!!!

    ...

    定制的基调?

    肯定得有宿主环境,目前肯定是linux,而且,最好就是livecd本身!

    最小化的工具包,livecd自身满足才好  :-)

    基于livecd本身,如果重头构建,sB才这样!

    尽量保持原汁原味,能不动就不动,能少修改就少修改,能改一处就不改多出。

    最小size!最小size!最小size! (能做到最小size,才能说明你做到极致了)

    定制的技术研究方向or指南?

    initrd 内存盘是一切的开始,往往这只是开始,你不需要定制什么,只是看看他最初干了什么。几乎所有的initrd不会做什么特别特殊的动作,这是行规!看他的目的是看它最后会挂载那个目录为realroot——真实的root根目录——以及调用哪个init而已。

    接上一步,你找到realroot以及真实的init吗,对于livecd,或者说对于ubuntu及其衍生物,都是casper。

    然后,后续就是研究casper了! 不同的livecd,casper的实现结构可能不同、组织方式也不同。但万变不离其宗(变多了,会被骂,而且官方也不一定搞得定),casper要提供一个完整的可以作为根/的环境并且提供可以执行的init环境。完整的根/环境显而易见,完整的init环境,随版本(【派系和时间】)的不同而不同。对于ubuntu livecd,只是从20.04后才提供livecd方式,那只有systemd了。而且...... 所有这几年的各种linux发行版,都是systemd!

    systemd!

    systemd!

    sysemd!

    有了以上知识,后续就基本上就是,获取这个root(根)环境,chroot进去,定制呗!

    todo,或说难点?

    想让自己定制的livecd或者说所有的livecd具有普世行,关键的问题是解决驱动加载问题 ..............

    通常的initrd仅仅带有基本的设备驱动——最最关键的是网卡及存储(硬盘、软盘、usb盘)的驱动——、及基本的文件系统驱动——ext3、ext4——!

    todo ...

  • 相关阅读:
    递归与尾递归(C语言)
    超酷算法:Levenshtein自动机
    编程面试的10大算法概念汇总
    C 语言中的指针和内存泄漏
    计算机实际上是如何工作的
    超酷算法:同型哈希
    4个Linux服务器监控工具
    2015-3-23
    2015-3-20
    2015-3-19
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/16305170.html
Copyright © 2020-2023  润新知