说来惭愧啊,有让开云(中国)官方的大大们催促完成项目了,现在的处于期末紧张的复习当中,所以时间不是特别多,小狂每天都是白天紧张复习,晚上抓紧完成调试,完成项目,但是进度还是有点慢,其实这一片的内容是小狂在拿到RicoBoard就想做的。因为项目中要用到ubuntu附带的标准指令库,况且在ubuntu发行版本中安装文件神马的都特别方便,所以这个东西也就非下定决心搞一搞,也给以后的朋友们提供一个思路。因为不想糊弄,所以每一篇帖子都花费了很多心思,从构建思路,调试,到最后的帖子成型,如果能真正的浏览这篇帖子的童鞋,应该能看到小狂的用心,快到结束了,小狂想求点赞,求点支持。如果对你有帮助,不要吝惜你的赞,给小狂原创继续前行的动力,谢谢大家。
开云(中国)官方中有直接拿狗板的debian系统直接烧到sd卡启动的,但是这不是小狂的目的,小狂就是想从零一步一步订制自己的发行版本,当然这篇文章还不涉及图形界面,因为目前用不到,也就懒得整了。如果怕麻烦的可以直接参考开云(中国)官方使用狗板debain的方法。小狂最后会把自己生成的文件系统提供给大家使用,谢谢。
一、使用debootstrap订制你的专属文件系统
小狂默认大家已经在PC端安装好了ubuntu。然后我们首先应该获得两个工具,第一个是qemu-user-static,第二个是debootstrap。
然后下载Ubuntu基本的的文件系统,就是裸文件系统
第一个红框内是架构类型,我们使用的是ARM类型,第二个红框内是ubuntu的发行版本代号,trusty是ubuntu14.04 LTS ,第三个红框内是你要把文件下载到什么位置。最好存放一个固定的位置,便于管理。放上所有的版本号图片
要想要16.04的自己去网上找吧,听说17.04已经发了,没有比较追最新的,小狂就选择一个折中了。这一步肯定是依照网速而定,但是有可能会出问题,一般部署一次半个小时左右,出问题的主要原因也是因为外网的原因,下载断断续续很容易出故障,小狂有一次就会少下载了东西,后来安装东西都安装不进去,导致失败。建议下载没完成多尝试几次或者更换国内的源,再或者就直接在pc上下载然后拷贝到虚拟机上,尝试使用。
下载完成后我们直接使用chroot下部署自己的文件系统
进入后的第一件事就是添加下载源,我们下载的ubuntu文件系统是非常简陋的文件系统,所有配置基本为空,所以我们要自己配置。
应该会提示语言部署文件不存在,不用搭理他,这个问题无关紧要,我个人认为应该是与本身的冲突
下边就是安装一个小软件测试一下,小狂个人比较喜欢vim,就拿vim来测试。
还是熟悉的界面,哈哈。然后,下边一步是重点,因为我们的内核挂载文件系统使用的是autofs。但是纯净的ubuntu是没有这个模块的,所以我们要自行导入。
下边我们要挂载我们的文件系统,这个是跟内核挂钩的,具体的怎么挂载我们需要看内核中的如何挂载,或者说uboot中怎么传递的挂载参数,这个没有看,有个偷懒的方法,那就是我们可以直接看官方文档就行,我们使用TF卡启动,使用的是EXT4文件系统,文档中有这句话。
基本上我们能拿到我们所要的信息,然后更改我们的挂载信息。
http://www.cnblogs.com/qiyebao/p/4484047.html
第一行是SD卡的第二个分区用来存放我们的启动文件,是FAT格式,第二个是分区是ext4分区,放置的是我们的制作好的文件系统。其实基本上到这我们自己的文件系统已经制作完成,按照这个烧写方式,烧到SD卡。
但是现在还有一些小问题,默认的ubuntu文件系统是没有串口控制台的,所以你在启动的时候会发现打印完内核信息后,就会卡在
这个地方,所以,我们要增加串口控制台,内核中默认分配给串口控制台的是串口1叫TTYO0,看清是大写的O不是零。进入这个目录
修改里边的信息,设置成我们自己的串口信息,把最后一行改成如下的配置
最好设置一下root密码,当然你也可以添加其他的用户
好至此,我们全完成了最起码的配置,如果你还想要安装其他东西,配置其他东西的话,直接按照ubuntu上的方式配置就行,没神马不一样的。然后我们需要把它打包成rootfs.tar.gz。
把它拷贝到我们的卡制作工具****/mkmmc/rootfs目录下,烧写。
二、RicoBaord实现我们自己的最初设想
把SD卡插入到板子上,然后,启动改为SD卡启动,哈哈,看看能不能启动成功,当出现下图中的内容时,恭喜你,你成功了。
从图中可以看到我们使用的是14.04 LTS的发行版本。使用我们刚才设定的root账号登录
木有问题,到此我们的基本任务已经完成,但是到这里要是想真正的完成希望的功能比如网络连接啊,还是需要一些设置的,但是这部分内容跟在ubuntu设置是一样的,有神马需要就配置神马。这样linux的有事就体现出来了,软件定制可裁剪。哈哈。下一篇,结项贴,希望大家继续支持小狂。
0