T113-S3-buildroot文件系统tar解压缩gz文件

目录

前言

一、现象描述

二、解决方案

三、tar解压缩.gz文件

总结


前言

本文主要介绍全志T113-S3平台官方SDK,buildroot文件系统tar不支持.gz文件解压缩的问题以及如何配置buildroot文件系统解决该问题的方法介绍。

一、现象描述

在buildroot文件系统中,使用tar -xzf UpdateShImage.tgz命令解压UpdateShImage.tgz压缩包报错,tar: invalid option -- 'z',如提示所示,表示tar不支持使用带z参数解压,如下所示:

cpp 复制代码
# tar -xzf UpdateShImage.tgz
tar: invalid option -- 'z'
BusyBox v1.29.3 (2023-08-30 11:23:50 CST) multi-call binary.

Usage: tar c|x|t [-hvokO] [-f TARFILE] [-C DIR] [-T FILE] [-X FILE] [--exclude PATTERN]... [FILE]...

Create, extract, or list files from a tar file

        c       Create
        x       Extract
        t       List
        -f FILE Name of TARFILE ('-' for stdin/out)
        -C DIR  Change to DIR before operation
        -v      Verbose
        -O      Extract to stdout
        -o      Don't restore user:group
        -k      Don't replace existing files
        -h      Follow symlinks
        -T FILE File with names to include
        -X FILE File with glob patterns to exclude
        --exclude PATTERN       Glob pattern to exclude
#

二、解决方案

进入buildroot编译输出目录,对busybox进行配置,如下步骤所示:

1、进入buildroot编译输出目录:

cpp 复制代码
cftc@cftc-ubuntu:t113-s3_V1.1-V2.1$ cd out/t113/evb1_auto/longan/buildroot/
cftc@cftc-ubuntu:buildroot$
cftc@cftc-ubuntu:buildroot$
cftc@cftc-ubuntu:buildroot$ pwd
/home/cftc/workspace/QZ/t113-s3_V1.1-V2.1/out/t113/evb1_auto/longan/buildroot
cftc@cftc-ubuntu:buildroot$
cftc@cftc-ubuntu:buildroot$

2、终端输入busybox配置命令, make busybox-menuconfig,进入Archival Utilities --->

\*\] Make tar, rpm, modprobe etc understand .gz data ,按空格键选中 .gz data该项即可,如下图所示: ![](https://file.jishuzhan.net/article/1717248217143316482/7d59a8d68e6bd0e4d069a015ce4a246f.webp) 3、busybox配置保存。输入make busybox-update-config即可保存配置文件,如下图所示: ```cpp cftc@cftc-ubuntu:buildroot$ cftc@cftc-ubuntu:buildroot$ cftc@cftc-ubuntu:buildroot$ cftc@cftc-ubuntu:buildroot$ make busybox-update-config cp -f /home/cftc/workspace/QZ/t113-s3_V1.1-V2.1/out/t113/evb1_auto/longan/buildroot/build/busybox-1.29.3/.config package/busybox/busybox.config cftc@cftc-ubuntu:buildroot$ cftc@cftc-ubuntu:buildroot$ ``` ## 三、tar解压缩.gz文件 使用tar -czf / tar -xzf解压缩文件如下所示: ```cpp liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ tar -czf UpdateShImage.tgz UpdateShImage/ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ ls -l total 10568 drwxr-xr-x 2 liubin liubin 4096 10月 23 16:14 UpdateShImage -rw-rw-r-- 1 liubin liubin 10815835 10月 25 23:01 UpdateShImage.tgz liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ rm -rf UpdateShImage liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ tar -zxf UpdateShImage.tgz liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ ls -l total 10568 drwxr-xr-x 2 liubin liubin 4096 10月 23 16:14 UpdateShImage -rw-rw-r-- 1 liubin liubin 10815835 10月 25 23:01 UpdateShImage.tgz liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ liubin@CompileServer:~/workspace/UpdateShImage/RA1000$ ``` *** ** * ** *** ## 总结 ` 修改之后的固件,tar会多出一个参数z (De)compress using gzip,tar zcvf 或tar cvf都可以压缩,执行tar xvf 或者tar zxvf 都可以解压,不要带z也可以解压缩,可能是config里面有CONFIG_FEATURE_TAR_AUTODETECT=y会自动检测。`

相关推荐
JiMoKuangXiangQu1 小时前
ARM64 进程虚拟地址空间布局
linux·arm64 虚拟地址布局
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
春日见2 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
无垠的广袤3 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
阿波罗尼亚3 小时前
Kubectl 命令记录
linux·运维·服务器
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.3 小时前
Keepalived单播模式配置与实战指南
linux·服务器·负载均衡
IDC02_FEIYA3 小时前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
江畔何人初3 小时前
kubectl apply与kubectl create的区别
linux·运维·云原生
M158227690554 小时前
四通道全能组网!SG-Canet-410 CAN转以太网网关,破解工业CAN通信瓶颈
linux·运维·服务器
誰能久伴不乏4 小时前
【Qt实战】工业级多线程串口通信:从底层协议设计到完美收发闭环
linux·c++·qt