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
相关文章
|
17天前
|
存储 缓存 监控
Linux 文件系统目录结构详解
本文介绍了Linux文件系统的目录结构,包括`/bin`、`/boot`、`/dev`、`/etc`、`/home`、`/lib`、`/media`、`/mnt`、`/opt`、`/proc`、`/root`、`/sbin`、`/tmp`、`/usr`和`/var`等目录的用途和重要性。每个目录都有其特定的功能,例如`/bin`存放基本用户命令,`/boot`存储启动相关文件,`/home`是用户主目录,`/lib`包含共享库,`/proc`提供进程信息,`/usr`存储用户程序资源,而`/var`则用于可变数据如日志文件。理解这些目录的用途有助于更好地管理和使用Linux系统。
Linux 文件系统目录结构详解
|
Ubuntu Linux 虚拟化
buildroot构建 bootloader、内核、文件系统
buildroot构建 bootloader、内核、文件系统
447 0
buildroot构建 bootloader、内核、文件系统
|
Linux Shell 索引
[ linux ] 文件系统和目录结构详解
昨天,有个小学弟了我一个linux面试题目,和她解答完之后我就想在C站开一个专栏,用于linux和windows的学习 我是这么想的,从linux入手,再写windows,最后总结常见区别 本文主要写了linux的文件结构介绍、linux文件系统的介绍、linux文件系统的基本操作,快捷键,通配符等等 下篇文章会写都文件的具体操作命令
348 0
[ linux ] 文件系统和目录结构详解
|
Linux
Linux 文件系统分层标准(FHS)
Linux 文件系统分层标准(FHS)
119 0
Linux 文件系统分层标准(FHS)
|
Ubuntu Linux Shell
发布一统tinycolinux,带openvz,带pelinux,带分离目录定制(2)
本文关键字:从0开始搭建linux rootfs,在tinycolinux上安装openvz,openvz源码编译任意linux
170 0
发布一统tinycolinux,带openvz,带pelinux,带分离目录定制(2)
|
安全 前端开发 Unix
发布一统tinycolinux,带openvz,带pelinux,带分离目录定制(1)
本文关键字:tinycolinux上装第二套非标准路径下的gcc toolchain
184 0
发布一统tinycolinux,带openvz,带pelinux,带分离目录定制(1)
|
网络安全 C语言 数据安全/隐私保护
发布一统tinycolinux,带openvz,带pelinux,带分离目录定制(3)
本文关键字:从0开始编译tinycolinux,busybox openssh nss,改变openssh中的passwd文件引用路径
152 0
发布一统tinycolinux,带openvz,带pelinux,带分离目录定制(3)