定制最简linux和根文件系统(平台龙芯1B开发板)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定制最简linux和根文件系统(平台龙芯1B开发板)
版本历史
1. 前言 (5)
1.1. 开发板版本号 (7)
1.2. 工具链版本号 (8)
1.3. 参考文档及其版本号 (8)
1.4. 目标 (9)
2. 搭建开发环境 (9)
3. 制作根文件系统 (11)
3.1. 配置 (11)
3.1.1. 拷贝源码,并解压 (11)
3.1.2. 配置选项简述 (12)
3.2. 编译 (13)
3.3. 构建根文件系统 (15)
3.3.1. 建立系统根目录 (15)
3.3.2. 建立设备文件 (16)
3.3.3. 建立系统配置文件 (16)
4. 编译linux (22)
4.1. 配置 (23)
4.1.1. 首先拷贝源码,并解压 (23)
4.1.2. 不安装Ncurses (24)
4.1.3. 没有拷贝.config (24)
4.1.4. 不用修改Makefile (25)
4.1.5. 配置选项简述 (26)
4.2. 编译 (30)
5. 启动运行linux (31)
5.1. 拷贝vmlinux到tftp服务器目录下 . 31
5.2. 设置PMON的ip地址 (31)
5.3. 下载内核 (32)
5.4. 启动linux (33)
1.前言
很高心拿到了龙芯1B开发板。然后仔细的看了开发板光盘里的《1B开发板用户手册.pdf》。里面写得非常详细,并且都附有截图,很明了。从最开始装虚拟机到编译linux,制作根文件系统等等,连虚拟机软件和Ubuntu系统镜像都有。可以说这套开发板考虑得非常周到。
然后我就参照《1B开发板用户手册.pdf》编译了linux,制作了根文件系统,最后终于跑起来,进入了shell。
这里谈谈我的感想
用户手册更像一个工具书
就拿根文件系统来说吧。Cramfs,Jffs2,Yaffs2的制作步骤都有,这表示该手册很全面,但是如果是一个初学者的话,给的选择太多不一定是好事。这也是我想写这篇文档的原因。我想linux 的配置尽量简单(除了串口驱动以外,其它的比如,网卡,声卡,触屏等都暂时不需要),根文件系统也尽量简单(手册中的已经很简单了,后面我们就参照手册),另外为了再简单一点我把
根文件系统也选择内存文件系统,内核只下载到内存而不烧写到flash,同时PMON参数也不修改。这样做有个好处——任何时候我可以复位进入开发板预装的linux和文件系统。这便于在我们遇到问题时参考。
●制作根文件系统的章节还有点小小的
问题需要改进
⏹手册中的笔误Busybox配置过程中
ionice错写为inoice
⏹没有新建目录/root和/var/log
⏹没有新建console和串口设备节点
ttyS2
另外,说点题外话,回想以前读大学时,非常想学习嵌入式,但是感觉非常困难。现在看来,当时感觉困难的原因是入门太难了。为什么入门难,弄了很久连环境都没打起来,更别说编译linux,制作根文件系统了。
在这里我想说“朋友们,搭建环境只需要把开发板的工具链解压到指定目录就可以了。就相当于windows上的绿色软件一样,仅此而已,这比安装vs2005快多了,方便多了”。
既然开发环境搭建起来了,后面就是配置编译linux,制作根文件系统了(先不要管PMON了,就像电脑一样,很少有人换bios,最多重装系统)。这也就是本篇文章的任务。
1.1. 开发板版本号
LS1B DEMO BOARD Schematic Revision 2.0即版本为2.0
1.2. 工具链版本号
版本为gcc-3.4.6-2f.tar.gz
1.3. 参考文档及其版本号
《1B开发板用户手册》V1.2
1.4. 目标
参考《1B开发板用户手册》创建一个最简化的linux和根文件系统。同时不破坏开发板预装的linux等,并将这个过程记录下来,仅供参考。
这里在明确一下本次任务的详细内容
⏹PMON不变(不要动PMON,包括PMON环境变量,除了ip地址外)
⏹LINUX内核配置尽量简单(驱动方面,
除了串口外,其它的网口,声卡,触屏都不要选上),linux内核也仅仅下载到内存,不要写到flash
⏹根文件系统尽量简单(根文件系统就直
接从busybox编译后得到,暂时不移植什么应用),同时这里也选择RAMDISK文件系统,不要写到flash
2.搭建开发环境
安装虚拟机和Ubuntu网上有很多,当然手册中也讲得很详细,这个就自己解决。假设您已
经装好了。
另外我用的是red hat 企业版5(手册中用的是Ubuntu),并且直接登录root账户,避免了什么权限的麻烦。
安装工具链手册中已经讲得非常好了,这里直接截图。
3.制作根文件系统
3.1. 配置
3.1.1.拷贝源码,并解压
[root@localhost test]# cp ../LS1B/busybox-1.19.2-default.tar.gz ./
l[root@localhost test]# ls
1b-linux-3.0-d8b47bb
1b-linux-3.0-d8b47bb.tar.gz
busybox-1.19.2-default.tar.gz
[root@localhost test]# tar -zxf busybox-1.19.2-default.tar.gz
[root@localhost test]# ls
1b-linux-3.0-d8b47bb
busybox-1.19.2-default
1b-linux-3.0-d8b47bb.tar.gz
busybox-1.19.2-default.tar.gz
[root@localhost test]# cd busybox-1.19.2-default [root@localhost busybox-1.19.2-default]#
和linux内核一样,通过执行make menuconfig 来配置,输入后回车如下图所示