第19章 buildroot根文件系统构建
buildroot构建根文件系统
网盘路径:开发板光盘A-基础资料\1、程序源码\7、Buildroot源码\buildroot-2020.02.6.tar.bz2
将buildroot源码拷贝到虚拟机的~/linux/tool目录下解压,进入buildroot源码使用图形化配置
cd ~/linux/tool
tar -vxjf buildroot-2020.02.6.tar.bz2
cd ~/linux/tool/buildroot-2020.02.6
make menuconfig配置Target options

配置Toolchain

配置System configuration

配置Filesystem images

禁止编译Linux 内核和uboot


配置Target packages

保存配置项


将配置项命名为“stm32mp1_atk_defconfig”,以后要重新配置buildroot 的话就可以直接执行以下指令
make stm32mp1_atk_defconfig编译buildroot
sudo make编译完在 output/images 目录下会生成根文件系统
cd ~/linux/tool/buildroot-2020.02.6/output/images
拷贝rootfs.tar到nfs目录下的rootfs文件夹并解压
cp rootfs.tar ~/linux/nfs/rootfs/ -f
cd ~/linux/nfs/rootfs
tar -vxf rootfs.tar
rm rootfs.tar buildroot根文件系统测试
修改bootargs环境变量
setenv bootargs 'console=ttySTM0,115200 root=/dev/nfs nfsroot=192.168.1.208:/home/alientek/linux/nfs/rootfs,proto=tcp rw ip=192.168.1.250:192.168.1.208:192.168.1.1:255.255.255.0::eth0:off'
saveenv
boot
buildroot下的busybox配置
busybox配置
buildroot下的busybox压缩包位置在 buildroot-2020.02.6/dl/busybox
buildroot会自动解压这个busybox源码包,解压后的busybox目录在 buildroot-2020.02.6/output/build/busybox-1.31.1
在buildroot下打开busybox的配置界面
cd ~/linux/tool/buildroot-2020.02.6
sudo make busybox-menuconfig
按照18章的配置即可
busybox中文支持
见18章
编译busybox
在buildroot目录下执行指令编译busybox,再重新编译buildroot
sudo make busybox
sudo make编译完成后看下 output/images 目录下的 rootfs.tar 是否更新时间
使用自己的busybox源码(略)
在buildroot源码的 configs 目录下创建 local.mk 文件,内容如下
BUSYBOX_OVERRIDE_SRCDIR=/home/alientek/linux/busybox/busybox-1.32.0打开buildroot图形配置
。。。。
buildroot第三方软件和库的配置
使能VSFTPD服务

使能SSH

编译buildroot
buildroot根文件系统测试
depmod 命令测试
在busybox图形配置中使能depmod指令
cd ~/linux/tool/buildroot-2020.02.6
sudo make busybox-menuconfig
编译busybox再编译buildroot
sudo make busybox
sudo make编译完在 output/images 目录下会生成根文件系统
cd ~/linux/tool/buildroot-2020.02.6/output/images拷贝rootfs.tar到nfs目录下的rootfs文件夹并解压
cp rootfs.tar ~/linux/nfs/rootfs/ -f
cd ~/linux/nfs/rootfs
tar -vxf rootfs.tar
rm rootfs.tar 板子启动系统后执行depmod指令

板子文件系统创建对应文件夹后就不会报错了
mkdir /lib/modules/5.4.31 -p
vsftpd 测试
在串口终端打开文件系统下的 /etc/vsftpd.conf ,去掉 local_enable=YES 和 write_enable=YES 前面的 # 符号,改完后效果

继续在此文件最后添加如下内容
chown root:root /etc/vsftpd.conf 保存此文件
使用adduser来创建一个用户,这里以创建atk用户为例
浙公网安备 33010602011771号