《 空中接口学园 》
>>   IT技能
>>>>  阶段总结:Linux系统的启动

--  作者:tom
--  发布时间:2025-08-24 17:47:29
最近,实现了一个大的技术突破:搞懂了Linux系统的启动,也就有了这篇总结。

  第一个感想是:技术的突破是一个日积月累的过程,很漫长。
 
  漫长的故事要从10几年前讲起。

  一开始是因为单位的应用系统是部署在Linux系统上的,准确地说是Ubuntu系统,所以就花了很多时间研究系统的部署,包括Ubuntu的安装以及SSH、FTP、Web server的安装,最后才是应用系统的安装。

  安装的时候发现步骤很多,就想能不能借鉴Windows的Ghost技术,来个硬盘搬家,把测试系统直接克隆成目标系统。

  后来发现,Linux系统似乎没有这样的工具,最后解决的方案是退了一步,把测试系统的主要目录压缩打包,安装目标系统时只需要安装Linux操作系统,安装之后再把压缩文件包解压,这样就一次性把SSH、FTP、Web server和应用系统都安装好了。

  解决了系统安装问题,回过头来又研究起安装Linux操作系统,如何更方便?使用U盘安装是必然的,于是去研究了用U盘安装Linux系统,又研究了用Grub2来安装多种Linux系统。

  这就有了后来制作的Linux系统三合一U盘安装课程,发布在51CTO学院,现在是51CTO学堂。

  总之,这一阶段针对的设备都是PC。


--  作者:tom
--  发布时间:2025-08-25 21:47:52
之后开始做4G路由器,用到了之前心心念念的openwrt系统。

  openwrt系统是正宗的嵌入式Linux系统,于是就从PC的Linux系统,转入了嵌入式Linux系统。

  在搞openwrt系统时,主要就是为4G模组进行适配,编写option.c,并需要编译Linux系统。

  当时4G路由器厂家提供了系统的源码以及编译的方法,模组厂家也提供了option.c的写法。

  参考了很多资料,最后实现了openwrt系统的编译以及烧写和运行。

  虽然搞成了,但当时关注的是4G模组的应用,对openwrt系统的启动过程并不关注,包括uboot也没有在意。

  可以说,错过了。

  但是现在看来,功不唐捐,为编译嵌入式Linux系统打下了很好的基础。

  紧接着另外一个项目,使用了树莓派4B作为主控。树莓派用TF卡来启动,需要先烧录。

  树莓派用的其实就是嵌入式Linux系统,只是当时很惘然,还是把树莓派的系统当作PC的Ubuntu系统在用。

  


[此贴子已经被作者于2025-08-25 21:55:42编辑过]

--  作者:tom
--  发布时间:2025-08-28 20:43:29
这几年,进入软件无线电SDR赛道,开始搞Pluto,也就是自带主控的SDR。

  Pluto用的就是嵌入式Linux系统,而且启动方式非常灵活,可以用TF卡启动(类似于树莓派),也可以用Flash启动(类似于openwrt)。

  于是又一个感想:没想到前一阶段的工作居然为现在的工作打下了个伏笔。

  当然,搞懂Pluto的启动并不简单,因为用的是pluto的兼容版,厂家提供了开源资料,但需要花费大量的时间去消化吸收。

  这个过程进展很慢,感觉就像在泥泞中跋涉。 

  不过年初DeepSeek的横空出世彻底改变了一切,在DS的协助下,最近一个月的进展可谓势如破竹,一下子把老大难的启动问题解决了,实现了TF卡的Ramdisk启动, 还实现了Ramdisk启动与QSPI启动的统一。

  这种进度,在几个月前是难以想象的。


目前已经有3条评论    >>> 发表你的见解

Powered by:Old version
Copyright ©2002 - 2019空中接口学园 , 页面执行时间:46.875毫秒