一、开发环境
- 嵌入式 Linux 开发板:100ASK-6ULL-V11(即:由百问网出品的 i.MX6ULL-PRO);
- 系统:Ubuntu 18.04(已配置交叉编译工具链);
- 待移植的 Linux 内核:由 NXP 官方维护的 imx_5.4.47_2.2.0。
二、下载 Buildroot 源码
可以使用以下命令:
三、使用 Buildroot 构建根文件系统
1. 配置 Buildroot
直接使用图形化界面配置即可,总体流程较为简单。
执行命令make menuconfig
打开图形化配置界面:
配置Target options
配置Toolchain
Toolchain prefix
时,需要删除原有的内容,此时应该使用Ctrl
+退格键
,直接使用退格键
是无效的。
配置System configuration
其中[*] Run a getty (login prompt) after boot
项需要单独设置终端和波特率:
配置 Filesystem images
由于后续是通过由 NXP 官方提供的工具 Mfgtool 来将根文件系统烧写到开发板上的 eMMC 或 SD 卡中,因此我们无需通过 Buildroot 对根文件系统进行打包,这里简单配置一下文件系统的格式即可,修改ext2/3/4 root filesystem
项:
禁止编译 U-Boot 和 Linux 内核
由于 Buildroot 自动下载的 U-Boot 和 Linux 内核源码来自于官方仓库,里面会缺少很多适配 i.MX6ULL 开发板的驱动文件,因此我们选择自行编译 U-Boot 和 Linux 内核,具体步骤可参考“i.MX6ULL 开发板系统移植与根文件系统构建”系列文章:U-Boot 的移植和 Linux 内核的移植。
我们确保Kernel
项中的Linux Kernel
和Bootloaders
项中的U-Boot
未被选中即可。
2. 编译 Buildroot
在编译过程中需要下载较多文件,如果遇到下载失败的情况,可以根据对应网址手动下载文件至./dl
目录后重新尝试编译。
3. 通过 NFS 挂载根文件系统
这样的话,我们构建的根文件系统就在目录~/nfs_rootfs/buildrootfs/
里啦:
之后启动U-Boot,根据实际情况设置环境变量bootargs
:
通过 TFTP 下载 Linux 内核和设备树:
就可以成功启动啦!
完工!
可以发现,此时的终端不会显示当前用户名、主机名、路径等信息,且命令开头是#
而不是常用的$
,我们可以通过配置PS1
环境变量来解决,关于PS1
环境变量的详细配置可以参考 linux shell中环境变量$PS1详解。修改文件/etc/profile
为:
4 条评论
选材新颖独特,通过细节描写赋予主题鲜活生命力。
每一个段落都紧密相连,逻辑清晰,展现了作者高超的写作技巧。
平淡中见真章,质朴处显功力。
《夫妻英烈》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/69902.html