breezecloud 发表于 2017-1-6 09:59:58

树莓派操作系统彻底定制

树莓派操作系统彻底定制一、为什么要用树莓派  文章名字由来于网上有人对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知识。三、准备工作  首先你应该阅读LFS手册,这是你学习linux知识的绝佳机会,LFS官方网站http://www.linuxfromscratch.org/。目前有人已经对LFS手册进行了翻译,建议参考:
[*]http://www.jinbuguo.com/ 6.2版本非systemd版本
[*]中文参考文档version 7.7-systemd systemd版本下载:https://linux.cn/article-5797-rss.html 开源中文社区https://linux.cn/
[*]你同时也可以浏览一下pilfs网站的guide,该网站所指定的LFS指南在线版本http://www.linuxfromscratch.org/lfs/view/development/index.html
环境准备:
[*]安装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超字数限制,请加入维信公众号浏览完整版本。附录本文相关文件的下载链接:1,关于我的百度云盘。 我没有合适的地方可以免费上传大文件,只能存放在百度云盘。 链接是https://pan.baidu.com/s/1mhVb9NEpilfs_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目录 所以编译使用的源代码软件包2,关于自己的脚本及本手册 本手册和脚本作为github的一个项目,放在github.com/breezecloud/myPiLFS,可以使用 git clone git://github.com/breezecloud/myPiLFS下载,也可以直接用浏览器https://github.com/breezecloud/myPiLFS3,关于我 喜欢折腾,财力有限;年纪不小,空闲不多;爱好甚广,精通寥寥。 邮箱:luping@shtel.com.cn或者luping@189.cn欢迎交流 欢迎加入我的个人公众号,本人以后所有的原创文章均会发布在此公众号,公众号可以通过搜索electronic_computer加入,或者扫描二维码加入。https://raw.githubusercontent.com/breezecloud/public/master/2dimensional_bar_code.jpg
页: [1]
查看完整版本: 树莓派操作系统彻底定制