linux专题

buildroot构建根文件系统

2019-04-19  本文已影响0人  Mr_Michael

一、简介

Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。本文使用buildroot为freescale imx287 开发板制作根文件系统。
参考 https://www.cnblogs.com/kele-dad/p/8231434.html

1.buildroot目录说明

.
├── arch: 目录存放CPU架构相关的配置脚本,如arm/mips/x86 ,这些CPU相关的配置,在制作工具链,编译boot和内核时很关键。
├── board:存放了一些默认开发板的配置补丁之类的
├── boot
├── CHANGES
├── Config.in
├── Config.in.legacy
├── configs: 放置開發板的一些配置參數. 
├── COPYING
├── DEVELOPERS
├── dl: 存放下載的源代碼及應用軟件的壓縮包. 
├── docs: 存放相關的參考文檔. 
├── fs: 放各種文件系統的源代碼. 
├── linux: 存放着Linux kernel的自動構建腳本. 
├── Makefile
├── Makefile.legacy
├── output: 是編譯出來的輸出文件夾. 
│   ├── build: 存放解壓後的各種軟件包編譯完成後的現場.
│   ├── host: 存放着製作好的編譯工具鏈,如gcc、arm-linux-gcc等工具.
│   ├── images: 存放着編譯好的uboot.bin, zImage, rootfs等鏡像文件,可燒寫到板子裏, 讓linux系統跑起來.
│   ├── staging
│   └── target: 用來製作rootfs文件系統,裏面放着Linux系統基本的目錄結構,以及編譯好的應用庫和bin可執行文件. (buildroot根據用戶配置把.ko .so .bin文件安裝到對應的目錄下去,根據用戶的配置安裝指定位置)
├── package:下面放着應用軟件的配置文件,每個應用軟件的配置文件有Config.in和soft_name.mk。
├── README
├── support
├── system:这里就是根目录的主要骨架和相关的启动初始化配置,当制作根目录时就是将此处的文件cp到output里去.然后再安装toolchain的动态库和你勾选的package的可执行文件之类的.
└── toolchain

2.buildroot工作原理

Buildroot本身提供构建流程的框架,开发者按照格式写脚本,提供必要的构建细节,配置整个系统,最后自动构建出你的系统。

3.iMX287开发板硬件说明

1.主板外观及基本接口分布

image

2.硬件资源

image

二、构建步骤

1.下载buildroot

git clone git://git.busybox.net/buildroot

2.配置buildroot

查看buildroot包含的开发板配置

make list-defconfigs

选择imx28默认配置

cd buildroot
make freescale_imx28evk_defconfig

进入menuconfig逐项配置

make menuconfig
image

3.编译buildroot

make

编译完成,在 output 目录下可以得到生成的文件系统和镜像文件

$ ls output/
build host images staging target

在images目录下有烧录镜像文件

4.完善文件系统

1)增加/dev/null 文件

Buildroot 编译后,生成的文件系统中通常没有/dev/null 文件,而系统启动通常是需要的,可以自行创建:

cd output/target/dev/
sudo mknod null c 1 3

2)增加/dev/console文件

对应于System configuration-“Run a gretty after root”选择的调试端口

cd output/target/dev/
sudo mknod console c 5 1

3)再次编译builtroot

make

三、使用根文件系统

将生成的rootfs.tar.bz2文件或rootfs.ubifs文件烧录到处理器,进入系统后即可以通过shell命令操作,已有的shell命令参考output/bin/目录下的链接文件。

开机成功进入根文件系统

1.登录

因为在System configuration中把root passwd设置为root,所以用户名和密码都是root。

2.系统信息查看

3.网络设置

上一篇 下一篇

猜你喜欢

热点阅读