Buildroot 扩展文件系统大小

简介: Buildroot 扩展文件系统大小

平台


 Ubuntu 16.04 + Buildroot-2021.02


问题


mkdir -p /home/anson/codes/buildroot-2021.02/output/images
rm -rf /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2
mkdir -p /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2
rsync -auH --exclude=/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM /home/anson/codes/buildroot-2021.02/output/target/ /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/target
echo '#!/bin/sh' > /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
echo "set -e" >> /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
echo "chown -h -R 0:0 /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/target" >> /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
PATH="/home/anson/codes/buildroot-2021.02/output/host/bin:/home/anson/codes/buildroot-2021.02/output/host/sbin:/home/anson/bin:/home/anson/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" /home/anson/codes/buildroot-2021.02/support/scripts/mkusers /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/full_users_table.txt /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/target >> /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
echo "/home/anson/codes/buildroot-2021.02/output/host/bin/makedevs -d /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/full_devices_table.txt /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/target" >> /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
printf '   \n' >> /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
printf '   \n' >> /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
printf '    rm -f /home/anson/codes/buildroot-2021.02/output/images/rootfs.ext2\n /home/anson/codes/buildroot-2021.02/output/host/sbin/mkfs.ext2 -d /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/target -r 1 -N 0 -m 5 -L "rootfs" -O ^64bit /home/anson/codes/buildroot-2021.02/output/images/rootfs.ext2 "64M" || { ret=$?; echo "*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)" 1>&2; exit $ret; }\n' >> /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
chmod a+x /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
PATH="/home/anson/codes/buildroot-2021.02/output/host/bin:/home/anson/codes/buildroot-2021.02/output/host/sbin:/home/anson/bin:/home/anson/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" FAKEROOTDONTTRYCHOWN=1 /home/anson/codes/buildroot-2021.02/output/host/bin/fakeroot -- /home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/fakeroot
rootdir=/home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/ext2/target
table='/home/anson/codes/buildroot-2021.02/output/build/buildroot-fs/full_devices_table.txt'
mke2fs 1.45.6 (20-Mar-2020)
Creating regular file /home/anson/codes/buildroot-2021.02/output/images/rootfs.ext2
Creating filesystem with 65536 1k blocks and 16384 inodes
Filesystem UUID: 7882b549-c37b-4741-9546-c893e7457164
Superblock backups stored on blocks: 
  8193, 24577, 40961, 57345
Allocating group tables: done                            
Writing inode tables: done                            
Copying files into the device: __populate_fs: Could not allocate block in ext2 filesystem while writing file "modules"
mkfs.ext2: Could not allocate block in ext2 filesystem while populating file system
*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)
fs/ext2/ext2.mk:46: recipe for target '/home/anson/codes/buildroot-2021.02/output/images/rootfs.ext2' failed
make[1]: *** [/home/anson/codes/buildroot-2021.02/output/images/rootfs.ext2] Error 1
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2


 前面的编译过程没有的报错, 所以基本判断可以从Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)


解决


 查看当前配置(.config):


BR2_TARGET_ROOTFS_EXT2_SIZE="64M"


 改为:


BR2_TARGET_ROOTFS_EXT2_SIZE="256M"


 产生这个问题的原因是尝试加入了OPENJDK的环境导致系统文件增加(rootfs.ext2), 最终超出了指定的镜像文件大小.


 修改后:


~/codes/buildroot-2021.02$ ls -lh output/images/
total 128M
-rw-r--r-- 1 anson anson 256M 7月  16 14:04 rootfs.ext2
-rwxr-xr-x 1 anson anson  477 7月  16 14:01 start-qemu.sh
-rwxr-xr-x 1 anson anson  14K 7月  16 12:03 vexpress-v2p-ca9.dtb
-rw-r--r-- 1 anson anson 4.7M 7月  16 12:03 zImage
相关文章
|
安全 Cloud Native Linux
CMake Install:深度解析与实践(二)
CMake Install:深度解析与实践
377 0
Windows下的CMake下载与安装
Windows下的CMake下载与安装
Windows下的CMake下载与安装
|
JSON Ubuntu 搜索推荐
【Crow】一款开源C++Web框架的安装与构建
【Crow】一款开源C++Web框架的安装与构建
1947 0
|
8月前
|
人工智能 弹性计算 运维
ECS控制台,AI助手与极简管控体验
本文介绍了ECS控制台的演进及最新AI工具功能。控制台作为运维平台,需兼顾用户体验、可靠性和安全性。针对不同用户(个人开发者、企业级用户、资源管理员和架构师),控制台提供了定制化AI助手,涵盖售前选型、售中购买、售后运维等全链路支持。AI助手可智能分析用户需求,推荐合适规格,并提供实例诊断、命令解释等功能,简化操作流程。此外,还推出了简洁版控制台,优化了小资源量用户的使用体验,减少复杂度,提升效率。未来,控制台将朝着更智能、个性化的chat ops方向发展。
|
11月前
|
安全 Windows
win10系统:局域网下共享文件夹设置,解决其他电脑访问不成功问题
这篇文章是关于如何在Windows 10系统下设置局域网共享文件夹,并解决其他电脑访问不成功的问题的详细指南。
31805 7
win10系统:局域网下共享文件夹设置,解决其他电脑访问不成功问题
|
机器学习/深度学习 人工智能 自然语言处理
“魔搭”来了!一文深度解读达摩院推出的AI模型社区
一文详解ModelScope魔搭社区,模型即服务开启AI开发使用新范式
“魔搭”来了!一文深度解读达摩院推出的AI模型社区
|
存储 安全 Ubuntu
【Linux 应用开发 】Linux环境下动态链接库路径(RPATH)的调整策略
【Linux 应用开发 】Linux环境下动态链接库路径(RPATH)的调整策略
1278 1
|
供应链 安全 Shell
|
存储 Linux 内存技术
ramfs和ramdisk文件系统的制作和启动
ramfs和ramdisk文件系统的制作和启动
|
Unix Shell Linux
【Shell 命令集合 系统管理 】⭐⭐Linux 让进程休眠 sleep命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐Linux 让进程休眠 sleep命令 使用指南
574 0

热门文章

最新文章