制作基于beaglebonebalck的rootfs------使用buildroot

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:20   1386   0

制作rootfs的几种常见方式

  • 使用busybox制作

使用busybox制作出来的不是一个完整的rootfs,缺少了一些系统正常运行的组件;比如启动脚本,需要的库文件.它只是包含了一些常用的命令工具,当然如果你的动手能力比较强的话,可以手动添加.需要添加的文件并不是很多.

  • 使用buildroot制作

buildroot制作的rootfs比较完整,但是buildroot所能做的事情远不止制作一个rootfs.它可以构建一个完整的系统发行版,从bootloader到kernel到rootfs到常用的工具软件.

  • 使用yocto制作

yocto的功能更强大,但是学习起来比较难以入门.可以看做是buildroot的进阶版.

  • 使用debootstrap制作

debootstrap是debian释放出来的一个工具,基于Debian的风格生成rootfs.类似于上一篇文章中使用的rootfs.使用它制作的rootfs的优点在于,你可以使用apt-get的方式来安装需要的工具,不需要再去从源码生成.

制作基于beaglebonebalck的rootfs

  • 制作环境

ubuntu18.04(LTS)

buildroot源码,地址:https://buildroot.org/download.html

  • 步骤1

生成初步的配置文件

切换到root账户,切换到buildroot目录下面
cp configs/beaglebone_defconfig .config
  • 步骤2

进一步配置buildroot

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

进入到配置界面,

Target options保持默认

Build options保持默认

Toolchain配置如下图示

System configuration配置如下图

Kernel

去掉这个选项,应为我们已经编译过内核了,不需要在编译生成了

Target packages保持默认

Filesystem images配置如下图

Bootloaders去掉u-boot选项

Host utilities和Legacy config options保持默认即可

最后保存配置并退出配置界面

  • 步骤3

编译生成rootfs

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

生成的rootfs在output/images目录下

把这个rootfs拷贝到sd卡上启动即可,效果如下(这个系统默认以root用户登陆,密码是在system configuration里面设置的)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP