buildroot 用法 记录

网页
https://buildroot.org/downloads/manual/manual.html#_init_system

make clean

在这里插入图片描述
在buildroot的make menuconfig的时候,Target packages里面 选择了 python3
编译之后在 NUC970_Buildroot-master/output/target/usr/bin目录下面有python3
那么如果 这个时候 最终编译出来的 rootfs,你又不想要这个 python3了怎么办呢?
一个办法是 直接在target里面删掉
另外一个是在 make menuconfig 的时候,先去掉之前选中的选项。
然后执行 make clean。make clean之后,out 目录下面都是空的,没有build目录和target目录了,
然后执行 make -j4 .经过很长时间的编译,就会编译出来 自己 想要的那个image了。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何 把 编译出来的 uClibc ,放到外面,以后用

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下图是不确定的

在这里插入图片描述

在这里插入图片描述
Cannot execute cross-compiler ‘/usr/local/arm_linux_4.8/usr/bin/arm-nuvoton-linux-uclibcgnueabi–gcc.br_real’
package/pkg-generic.mk:206: recipe for target ‘/home/user/NUC970_Buildroot-master/output/build/toolchain-external/.stamp_configured’ failed

/usr/local/arm_linux_4.8/usr/arm-nuvoton-linux-uclibcgnueabi/sysroot/usr/include/linux/version.h

make -j4
及时备份

备份 .config 文件
下面的文件会在 make clean的时候 被清除
备份 output/image
备份 output/target

make clean 之后

output目录中的东西,都会被清空,
这样你之前通过 make linux-menuconfig 设置的内核配置选项,也会被清空
你之前通过 make busybox-menuconfig 设置的内核配置选项,也会被清空

你需要提前保存 这两个地方的 配置文件

初始network interface 文件

mkdir -p /home/user/NUC970_Buildroot-master/output/target/etc/network/
( echo “# interface file auto-generated by buildroot”; echo ; echo “auto lo”; echo “iface lo inet loopback”; ) > /home/user/NUC970_Buildroot-master/output/target/etc/network/interfaces

rcS

user@ubuntu:~/NUC970_Buildroot-master$ grep -r “Start all init scripts in /etc/init.d” .
./output/target_a/etc/init.d/rcS:# Start all init scripts in /etc/init.d
Binary file ./output/images_b/rootfs.tar matches
Binary file ./output/images_b/rootfs.cpio matches
Binary file ./output/images/rootfs.tar matches
Binary file ./output/images/rootfs.cpio matches
./output/target/etc/init.d/rcS:# Start all init scripts in /etc/init.d
./output/target_b/etc/init.d/rcS:# Start all init scripts in /etc/init.d
./package/initscripts/init.d/rcS:# Start all init scripts in /etc/init.d
./board/nuvoton/rootfs-lorag/etc/init.d/rcS:# Start all init scripts in /etc/init.d

yaffs
rootdir=/home/user/NUC970_Buildroot-master/output/target
table='/home/user/NUC970_Buildroot-master/output/build/_device_table.txt'
mkyaffs2 0.2.9_20120815: image building tool for YAFFS2.

stage 1: scanning directory '/home/user/NUC970_Buildroot-master/output/target'... [done]
scanning complete, total objects: 1284.

stage 2: creating image '/home/user/NUC970_Buildroot-master/output/images/rootfs.yaffs2'
[=================================================================================================================] 1284/1284 100%

operation complete,
1284 objects in 16080 NAND pages.
/usr/bin/install -m 0644 support/misc/target-dir-warning.txt /home/user/NUC970_Buildroot-master/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM

3333

es/Image; fi
>>> host-yaffs2utils 0.2.9 Downloading
--2021-04-11 16:17:03--  https://yaffs2utils.googlecode.com/files/0.2.9.tar.gz
Resolving yaffs2utils.googlecode.com (yaffs2utils.googlecode.com)... 64.233.189.82
Connecting to yaffs2utils.googlecode.com (yaffs2utils.googlecode.com)|64.233.189.82|:443... failed: Connection refused.
--2021-04-11 16:17:26--  http://sources.buildroot.net/0.2.9.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.1.37, 172.67.72.56, 104.26.0.37, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.1.37|:80... failed: Connection refused.
Connecting to sources.buildroot.net (sources.buildroot.net)|172.67.72.56|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 39689 (39K) [application/x-gtar-compressed]
Saving to:/home/user/NUC970_Buildroot-master/output/build/.0.2.9.tar.gz.W44nHu/output’

/home/user/NUC970_Buildroot-mast 100%[=========================================================>]  38.76K  --.-KB/s    in 0s      

2021-04-11 16:17:48 (128 MB/s) -/home/user/NUC970_Buildroot-master/output/build/.0.2.9.tar.gz.W44nHu/output’ saved [39689/39689]

0.2.9.tar.gz: OK (sha256: 9b0912bf683eb839b6e57c9255c83894c3b700d16489a49d319c54c1abf8f6d7)
>>> host-yaffs2utils 0.2.9 Extracting
gzip -d -c /home/user/NUC970_Buildroot-master/dl/0.2.9.tar.gz | tar --strip-components=1 -C /home/user/NUC970_Buildroot-master/output/build/host-yaffs2utils-0.2.9   -xf -
>>> host-yaffs2utils 0.2.9 Patching

Applying nuc980.patch using patch: 
patching file Makefile
patching file mkyaffs2.c
patching file nand_ecclayout.h
patching file unspare2.c
patching file unyaffs2.c
patching file version.h
>>> host-yaffs2utils 0.2.9 Configuring
>>> host-yaffs2utils 0.2.9 Building
PATH="/home/user/NUC970_Buildroot-master/output/host/bin:/home/user/NUC970_Buildroot-master/output/host/sbin:/home/user/NUC970_Buildroot-master/output/host/usr/bin:/home/user/NUC970_Buildroot-master/output/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user/NUC970_Buildroot-master/output/host/usr/bin" PKG_CONFIG="/home/user/NUC970_Buildroot-master/output/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/user/NUC970_Buildroot-master/output/host/usr/lib/pkgconfig:/home/user/NUC970_Buildroot-master/output/host/usr/share/pkgconfig" /usr/bin/make -j2 -C /home/user/NUC970_Buildroot-master/output/build/host-yaffs2utils-0.2.9
make[1]: Entering directory '/home/user/NUC970_Buildroot-master/output/build/host-yaffs2utils-0.2.9'
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o yaffs2/yaffs_hweight.o yaffs2/yaffs_hweight.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o yaffs2/yaffs_ecc.o yaffs2/yaffs_ecc.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o yaffs2/yaffs_packedtags1.o yaffs2/yaffs_packedtags1.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o yaffs2/yaffs_packedtags2.o yaffs2/yaffs_packedtags2.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o safe_rw.o safe_rw.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o endian_convert.o endian_convert.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o progress_bar.o progress_bar.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o mkyaffs2.o mkyaffs2.c
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o unyaffs2.o unyaffs2.c
unyaffs2.c: In function ‘unyaffs2_obj_chattr’:
unyaffs2.c:763:2: warning: ignoring return value of ‘lchown’, declared with attribute warn_unused_result [-Wunused-result]
  lchown(fpath, obj->uid, obj->gid);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from unyaffs2.c:51:0:
At top level:
nand_ecclayout.h:44:25: warning: ‘nuc970_oobTb’ defined but not used [-Wunused-variable]
 static nand_ecclayout_t nuc970_oobTb = {
                         ^~~~~~~~~~~~
In file included from /usr/include/string.h:494:0,
                 from unyaffs2.c:26:
In function ‘memcpy’,
    inlined from ‘unyaffs2_extract_hardlink.constprop’ at unyaffs2.c:1222:2,
    inlined from ‘unyaffs2_extract_obj’ at unyaffs2.c:1289:10:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:34:10: warning: ‘__builtin___memcpy_chk’ writing 16 bytes into a region of size 8 overflows the destination [-Wstringop-overflow=]
   return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -I. -I./yaffs2 -O2 -D_HAVE_BROKEN_MTD_H -Wall -Wshadow -Winline -Wpointer-arith -Wnested-externs -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -D_HAVE_MMAP   -c -o unspare2.o unspare2.c
gcc -o mkyaffs2 yaffs2/yaffs_hweight.o yaffs2/yaffs_ecc.o yaffs2/yaffs_packedtags1.o yaffs2/yaffs_packedtags2.o safe_rw.o endian_convert.o progress_bar.o mkyaffs2.o -lm
gcc -o unspare2 yaffs2/yaffs_hweight.o yaffs2/yaffs_ecc.o yaffs2/yaffs_packedtags1.o yaffs2/yaffs_packedtags2.o safe_rw.o endian_convert.o progress_bar.o unspare2.o -lm
gcc -o unyaffs2 yaffs2/yaffs_hweight.o yaffs2/yaffs_ecc.o yaffs2/yaffs_packedtags1.o yaffs2/yaffs_packedtags2.o safe_rw.o endian_convert.o progress_bar.o unyaffs2.o -lm
make[1]: Leaving directory '/home/user/NUC970_Buildroot-master/output/build/host-yaffs2utils-0.2.9'
>>> host-yaffs2utils 0.2.9 Installing to host directory
PATH="/home/user/NUC970_Buildroot-master/output/host/bin:/home/user/NUC970_Buildroot-master/output/host/sbin:/home/user/NUC970_Buildroot-master/output/host/usr/bin:/home/user/NUC970_Buildroot-master/output/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user/NUC970_Buildroot-master/output/host/usr/bin" PKG_CONFIG="/home/user/NUC970_Buildroot-master/output/host/usr/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/user/NUC970_Buildroot-master/output/host/usr/lib/pkgconfig:/home/user/NUC970_Buildroot-master/output/host/usr/share/pkgconfig" /usr/bin/make -j2 -C /home/user/NUC970_Buildroot-master/output/build/host-yaffs2utils-0.2.9 INSTALLDIR=/home/user/NUC970_Buildroot-master/output/host/usr/bin install
make[1]: Entering directory '/home/user/NUC970_Buildroot-master/output/build/host-yaffs2utils-0.2.9'
cp mkyaffs2 unyaffs2 unspare2 /home/user/NUC970_Buildroot-master/output/host/usr/bin
make[1]: Leaving directory '/home/user/NUC970_Buildroot-master/output/build/host-yaffs2utils-0.2.9'
>>>   Finalizing target directory
PYTHONPATH="/home/user/NUC970_Buildroot-master/output/target/usr/lib/python2.7/sysconfigdata/:/home/user/NUC970_Buildroot-master/output/target/usr/lib/python2.7/site-packages/" /home/user/NUC970_Buildroot-master/output/host/usr/bin/python2.7 support/scripts/pycompile.py /home/user/NUC970_Buildroot-master/output/target/usr/lib/python2.7
find /home/user/NUC970_Buildroot-master/output/target/usr/lib/python2.7 -name '*.py' -print0 | xargs -0 --no-run-if-empty rm -f
find /home/user/NUC970_Buildroot-master/output/target/usr/lib/python2.7 -name '*.pyo' -print0 | xargs -0 --no-run-if-empty rm -f
mkdir -p /home/user/NUC970_Buildroot-master/output/target/etc
echo "buildroot" > /home/user/NUC970_Buildroot-master/output/target/etc/hostname
/bin/sed -i -e '$a \127.0.1.1\tbuildroot' -e '/^127.0.1.1/d' /home/user/NUC970_Buildroot-master/output/target/etc/hosts
mkdir -p /home/user/NUC970_Buildroot-master/output/target/etc

Binary file output/host/usr/bin/mkyaffs2 matches

fs/yaffs2/yaffs.mk: $(HOST_DIR)/usr/bin/mkyaffs2 --inband-tags --all-root $(TARGET_DIR) $@

Binary file output/build/host-yaffs2utils-0.2.9/mkyaffs2 matches

参考

./yaffs2utils/mkyaffs2 --inband-tags -p 2048 -s 64 rootfs rootfs.yaffs2 && cp rootfs.yaffs2  /media/vmuer/share/image/

mkyaffs2 0.2.9_20120815: image building tool for YAFFS2.

 

stage 1: scanning directory 'rootfs'... [done]

scanning complete, total objects: 1555.

 

stage 2: creating image 'rootfs.yaffs2'

777

################################################################################
#
# Build the yaffs2 root filesystem image
#
################################################################################

ROOTFS_YAFFS2_DEPENDENCIES = host-yaffs2utils

define ROOTFS_YAFFS2_CMD
        $(HOST_DIR)/usr/bin/mkyaffs2 --inband-tags --all-root $(TARGET_DIR) $@
endef

$(eval $(call ROOTFS_TARGET,yaffs2))
~   
ubuntu下修改yaffs2文件系统镜像文件

sudo mount -t yaffs2 /dev/mtdblock0 mnt/system

#sudo dd if=system.img of=/dev/mtdblock0
sudo nandwrite -a -o /dev/mtd0 system.img
463650+0 records in
463650+0 records out
237388800 bytes (237 MB) copied, 11.0737 s, 21.4 MB/s

mkdir -p mnt/system

sudo mount -t yaffs2 /dev/mtdblock0 mnt/system

ls -l system

如何修改yaffs文件系统的内容并重新生成yaffs2映像

cd /home/user/NUC970_Buildroot-master/output/images
mkdir -p rootfs
sudo tar xvf rootfs.tar -C rootfs/
sudo /home/user/NUC970_Buildroot-master/output/host/usr/bin/mkyaffs2 --inband-tags --all-root rootfs aa.yaffs2
ooo
sudo /home/user/nuc980_iot/NUC970_Buildroot-master/output/host/usr/bin/mkyaffs2 --inband-tags --all-root rootfs nuc980_rootfs.yaffs2

/home/user/nuc980_iot/NUC970_Buildroot-master/my_rootfs

11

在这里插入图片描述

1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pack烧写

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值