你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Stm32mp157A-DK1开发包评估5-根文件

[复制链接]
寒门过河卒 发布时间:2021-6-21 17:06
Stm32mp157A-DK1开发包评估5
裸机根文件系统的搭建
1、 获取buildroot
wget http://buildroot.uclibc.org/downloads/buildroot-2021.05.tar.bz2                       //下载buildroot-2021.05.tar.bz2
tar -vxf buildroot-2021.05.tar.bz2                          //对下载的buildroot-2021.05.tar.bz2进行解压
QQ图片20210621152804.png
2、配置
cd buildroot-2021.05.tar.bz2                     //进入buildroot-2021.05.tar.bz2文件夹
make menuconfig                      //打开图形设置界面
配置内核信息
Target options
-> Target Architecture = ARM (little endian)
-> Target Binary Format = ELF
-> Target Architecture Variant = cortex-A7
-> Target ABI= EABIhf
-> Floating point strategy = NEON/VFPv4
-> ARM instruction set = ARM
配置项用于配置交叉编译工具链
Toolchain
       ->Tool chain type = External toolchain
-> Tool chain= Custom toolchain //用户自己的交叉编译器
-> Tool chain origin = Pre-installed toolchain //预装的编译器
-> Tool chain path = /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf
-> Tool chainpre fix = $(ARCH) -none-linux-gnueabihf //前缀
-> External toolchain gcc version = 9.x
-> External toolchain kernel headers series = 4.20.x //交叉编译器的 linux版本号
-> External toolchain C library = glibc/eglibc
->Toolchain has SSP support? (NEW) //选中
->Toolchain has RPC support? (NEW) //选中
->Toolchain has C++ support?
-> Enable MMU support (NEW)
系统配置
System configuration
-> System hostname  = xhy-stm32mp1 //平台名字,自行设置
-> System banner = Welcome to stm32mp157 //欢迎语
-> Init system = BusyBox  //使用 busybox
-> /devmanagement  = Dynamic using devtmpfs +mdev  //使用 mdev
-> [* ] Enableroot login with password (NEW) //使能登录密码
-> Root password =x //登录密码为x
配置根文件系统格式
-> File system images
->ext2/3/4 root filesystem //如果是 EMMC 或 SD 卡的话就用 ext3/ext4
-> ext2/3/4 variant = ext4 //选择 ext4 格式
-> exact size =1G //ext4 格式根文件系统 1GB(根据实际情况修改)
-> ubiimage containing an ubifs root filesystem //如果使用 NAND 的话就用 ubifs
禁止译 编译 Linux  内核和 uboot
       buildroot下载的 linux 和 uboot官方源码,里面会缺少很多驱动文件,所以用意法官方的。
-> Kernel
-> [ ] Linux Kernel //不要选择编译 Linux Kernel 选项!
-> Boot loaders
-> [ ] U-Boot//不要选择编译 U-Boot 选项!
配置第三方库或软件
       >Target packages
-> System tools
-> kmod //使能内核模块相关命令
保存以上配置
busybox配置
       sudo make busybox-menuconfig             //打开busybox图形配置界面
-> Linux Module Utilities
-> depmod //使能 depmod 命令
3、保存编译
sudo make busybox           //编译 busybox
       sudo make                         //编译根文件
QQ图片20210621152808.png
编译成功后再/output/images中有文件rootfs.tar和。
4、测试
       有两种方法测试,一种是rootfs.ext4通过STM32CubeProgrammer烧录,由于根文件需要做程序开发,所以倾向于nfs下载。
       将rootfs.tar解压到home中的nfs文件夹。
tar -vxf output/images/rootfs.tar -C/home/helloxhy/nfs/
QQ图片20210621154220.png
打开板子,进入boot设置,这次需要设置 uboot 传递给 Linux 内核的参数:bootargs,
命令如下:
setenv bootargs 'console=ttySTM0,115200root=/dev/nfs nfsroot=192.168.16.70:/home/helloxhy/nfs/,proto=tcp rwip=192.168.16.73:192.168.16.70:192.168.16.1:255.255.255.0::eth0ff'
QQ图片20210621155412.png
重启板子后启动根文件:

输入账号root密码x,进入根文件,可以看到没有显示路径:
QQ图片20210621165706.png
为了解决这个问题,再nfs/etc/profile.d文件中新建.sh文件:
PS1='[\u@\h]:\w$ '
export PS1
QQ图片20210621165932.png
再次重启,根文件就编译完成了。
QQ图片20210621164337.png
收藏 评论0 发布时间:2021-6-21 17:06

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版