树莓派操作系统彻底定制一、为什么要用树莓派  文章名字由来于网上有人对LFS项目的翻译,虽然感觉没有体现LFS的含义,但如果取《在树莓派进行LFS》这样的类似名字,估计很多人都不明白什么意思。所以先来科普一下什么是LFS。Linux From Scratch项目简称LFS,它提供具体的步骤、特定的补丁、必须的脚本,从而提供一个简便的创建Linux发行版的途径。简单来说提供了一个自己从网上下载所有源代码编译一个linux完整系统的指南。
  为什么要在树莓派上编译?首先是学习,当然如果在pc机上LFS也一样可以通过LFS学习linux,但我没有在裸机上安装linux,如果运行虚拟机的话估计速读比树莓派也快不了多少。而且手头有树莓派啊,LFS需要长时间开机,树莓派可以安静的工作没有任何噪音困扰,你可以用你的pc做其它事情,这样多惬意。再有我在预装了树莓派的raspbian系统后感觉启动很慢,系统预装了很多我不需要的东西占用了大量的内存和TF卡空间,如果我想用树莓派做一个固定的用处,比如BT下载机,或者摄像机之类的,当然需要一个小巧,启动迅速的系统,所以需要定制。最后,我想我是喜欢树莓派吧。
  在我刚开始想用树莓派进行LFS时,感觉是一项大工程,因为以前我用pc参照LFS手册进行LFS,感觉这是一项复杂和需要勇气的工作,而且对于是否可以在树莓派上进行LFS实在心里没底。直到我在网上找到了一个网站http://www.intestinate.com/pilfs/,知道国外有人已经进行了尝试并且编制了相关的脚本,沿着前人的步伐,我发现在树莓派上进行LFS不是一项困难的工作,甚至感觉so easy。我借用了pilfs网站的脚本,在此十分感谢pilfs网站的帮助。 二、前提条件  需要一个树莓派及电源、键盘、鼠标、TF卡(16G)、U盘等附件,大概这是废话了,另外根据我的经历,在pi1上做LFS那是一件极其痛苦的事情(第一阶段需要50小时左右),所以建议在pi3上完成LFS,pi2是否可以我没测试过。   一台可以上网的pc。pc作为辅助功能必不可少,有很多事情需要在电脑上完成。另外我在运行LFS时是通过pc联机到树莓派,这样可以记录下所有屏幕日志方便查看编译过程是否有问题。 除了以上两点,你必须还要有足够的耐心和基本的linux知识。 三、准备工作环境准备:- 安装raspbain
  需要一张16G的TF卡作为LFS的环境,但先需要安装raspbain操作系统,我安装的版本是2016-05-10-raspbian-jessie,网上可以下载zip文件(或者我的百度云盘),然后解压之后是一个img文件。你可以用Win32DiskImager工具软件将img文件写入tf卡。有一个小问题,如果是用hdmi转vga的,可能无法正常显示,需要在写入img文件之后,用pc机插入tf卡,在boot分区的config.txt文件加上:
hdmi_force_hotplug=1config_hdmi_boost=4hdmi_group=2hdmi_mode=9hdmi_drive=2hdmi_ignore_edid=0xa5000080最后试试启动树莓派是否正常。
- 通过PUTTY联机树莓派
  在pc机上安装putty软件。但是如何联机树莓派?我是用360wifi将pc作为一个ap热点,然后用树莓派去联接pc,这样的好处是不用任何开销而且设置简单,而且树莓派可以通过pc访问互联网,事实证明也很稳定。当然你也可以将树莓派直接联上可以上网的ap。当设置树莓派联上pc之后,启动putty试试是否正常,如果能正确联机,那么恭喜你已经迈出LFS的一小步了。此时可以配置树莓派启动到命令行就可以了(LFS过程不需要启动xwindow,这样可以节约宝贵的RAM空间,别告诉我你不会设置,请教度娘吧)另外别忘了设置putty将任何屏幕输出记录下来(putty软件的session/logging中All session output选项)。
3、下载LFS需要的软件包 我已经整理好了LFS所有需要的软件包,请到我的百度云盘下载(见附录)。将lfs_reselse下的sources全部下载下来,并复制到一个u盘上备用。将几个脚本文件从git服务器上下载下来,并拷贝到sources目录。
四、开始LFS超字数限制,请加入维信公众号浏览完整版本。 附录本文相关文件的下载链接: pilfs_orig_rpi3_20161226.tar.gz是已经编译好的lfs,是一个镜像文件,但恢复之后只有1g大小,需要resize。 pilfs_orig_rpi1_20161230.tar.gz是已经编译好的lfs,是一个镜像文件,但恢复之后只有1g大小,需要resize。 pilfs_tools_rpi3_20161220.tar.gz是编译的tools目录(基于rpi3),这样可以不用执行ch5-build.sh,直接进入第二遍编译 pilfs_tools_rpi1_20161220.tar.gz是编译的tools目录(基于rpi1),这样可以不用执行ch5-build.sh,直接进入第二遍编译 2016-05-10-raspbian-jessie.zip是raspbian树莓派操作系统 sources目录 所以编译使用的源代码软件包 |