一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx VCU TRD生成的根文件系統(tǒng)比較大,如何優(yōu)化rootfs的大小

YCqV_FPGA_EETre ? 來源:FPGA開發(fā)圈 ? 作者:付漢杰 ? 2020-10-10 16:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:付漢杰,hankf@xilinx.com,文章轉(zhuǎn)載自:賽靈思中文社區(qū)論壇

01 介紹

Xilinx VCU TRD 集成了圖像和視頻編解碼功能,生成的根文件系統(tǒng)比較大,2020.1的rootfs.cpio.gz大約有114MB。工程師可以根據(jù)自己需要裁剪,減少根文件系統(tǒng)大小。

在Ubuntu下,解壓rootfs.cpio.gz,得到rootfs.cpio,再解壓,得到就是文件了。

02 檢查目錄大小

使用du命令,可以檢查各個(gè)文件夾的大小。

rootfs@rootfs$ du --max-depth=1 -h 4.0K./run 8.5M./lib 20K./home 4.0K./boot 4.0K./tmp 4.0K./sys 2.9M./bin 4.0K./mnt 312M./usr 112K./var 2.8M./opt 2.0M./etc 8.0K./media 4.0K./dev 4.0K./proc 2.0M./sbin 330M

也可以看更深的目錄,排除占用空間小的目錄。

rootfs@rootfs$ du --max-depth=2 -h | grep [0-9]M 3.1M./lib/modules 8.5M./lib 2.9M./bin 206M./usr/lib 22M./usr/bin 1.3M./usr/libexec 80M./usr/share 3.8M./usr/sbin 312M./usr 2.8M./opt/vcu_qt 2.8M./opt 2.0M./etc 2.0M./sbin 330M.

rootfs$ du --max-depth=2 -h | grep [0-9]M 5.9M./lib 2.9M./bin 18M./usr/lib 5.1M./usr/bin 6.2M./usr/share 3.3M./usr/sbin 33M./usr 2.0M./sbin 45M.

03 檢查文件大小

目錄大小有助于粗略的分析根文件系統(tǒng)大小。要找到真正的原因,并找到減小根文件系統(tǒng)大小,需要分析文件大小。

使用find命令,找到文件,再使用ls命令,查看文件大?。蛔詈笫褂胓rep命令過濾出大文件。

rootfs$ find | xargs -n 1 ls -l -h | grep [0-9]M total 4.3M -rwxr-xr-x 1 hankf hankf 1.4M May 27 13:58 libc-2.30.so -rwxr-xr-x 1 hankf hankf 1.4M May 27 13:58 ./lib/libc-2.30.so total 2.9M -rwxr-xr-x 1 hankf hankf 1.2M May 27 14:07 bash.bash -rwsr-xr-x 1 hankf hankf 1.6M May 27 14:09 busybox -rwsr-xr-x 1 hankf hankf 1.6M May 27 14:09 ./bin/busybox -rwxr-xr-x 1 hankf hankf 1.2M May 27 14:07 ./bin/bash.bash total 105M -rwxr-xr-x 1 hankf hankf 1.1M May 27 14:07 libasound.so.2.0.0 -rwxr-xr-x 1 hankf hankf 1.2M May 27 05:01 libcairo.so.2.11600.0 -rwxr-xr-x 1 hankf hankf 2.5M May 27 14:04 libcrypto.so.1.1 -rwxr-xr-x 1 hankf hankf 1.3M May 27 05:00 libepoxy.so.0.0.0 -rwxr-xr-x 1 hankf hankf 1.9M May 27 14:11 libgio-2.0.so.0.6000.7 -rwxr-xr-x 1 hankf hankf 1.2M May 27 14:11 libglib-2.0.so.0.6000.7 -rwxr-xr-x 1 hankf hankf 1.8M May 27 14:13 libgnutls.so.30.24.0 -rwxr-xr-x 1 hankf hankf 1.3M May 27 14:20 libgstreamer-1.0.so.0.1601.0 -rwxr-xr-x 1 hankf hankf 7.2M May 27 05:06 libgtk-3.so.0.2404.4 -r-xr-xr-x 1 hankf hankf 3.0M May 27 14:11 libpython3.7m.so.1.0 -rwxr-xr-x 1 hankf hankf 1.9M May 27 05:27 libQt5Charts.so.5.13.2 -rwxr-xr-x 1 hankf hankf 6.3M May 27 05:18 libQt5Core.so.5.13.2 -rwxr-xr-x 1 hankf hankf 5.8M May 27 05:18 libQt5Gui.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.9M May 27 05:18 libQt5Network.so.5.13.2 -rwxr-xr-x 1 hankf hankf 4.9M May 27 05:23 libQt5Qml.so.5.13.2 -rwxr-xr-x 1 hankf hankf 4.9M May 27 05:23 libQt5Quick.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.1M May 27 05:26 libQt5WaylandClient.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.6M May 27 05:26 libQt5WaylandCompositor.so.5.13.2 -rwxr-xr-x 1 hankf hankf 6.8M May 27 05:18 libQt5Widgets.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.3M May 27 05:18 libQt5XcbQpa.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.5M May 27 14:10 libsamplerate.so.0.1.8 -rwxr-xr-x 1 hankf hankf 1.1M May 27 14:05 libsqlite3.so.0.8.6 -rwxr-xr-x 1 hankf hankf 1.8M May 27 14:02 libstdc++.so.6.0.27 -rwxr-xr-x 1 hankf hankf 1.5M May 27 14:08 libunistring.so.2.1.0 -rwxr-xr-x 1 hankf hankf 1.5M May 27 14:03 libvpx.so.6.1.0 -rwxr-xr-x 1 hankf hankf 1.3M May 27 14:07 libX11.so.6.3.0 -rwxr-xr-x 1 hankf hankf 1.4M May 27 14:14 libxml2.so.2.9.9 -r-xr-xr-x 1 hankf hankf 3.0M May 27 14:11 ./usr/lib/libpython3.7m.so.1.0 -rwxr-xr-x 1 hankf hankf 1.9M May 27 05:18 ./usr/lib/libQt5Network.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.5M May 27 14:10 ./usr/lib/libsamplerate.so.0.1.8 -rwxr-xr-x 1 hankf hankf 6.3M May 27 05:18 ./usr/lib/libQt5Core.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.5M May 27 14:08 ./usr/lib/libunistring.so.2.1.0 -rwxr-xr-x 1 hankf hankf 4.9M May 27 05:23 ./usr/lib/libQt5Quick.so.5.13.2 total 1.7M -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 libMali.so.9.0 -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 ./usr/lib/x11/libMali.so.9.0 -rwxr-xr-x 1 hankf hankf 1.1M May 27 05:26 ./usr/lib/libQt5WaylandClient.so.5.13.2 -rwxr-xr-x 1 hankf hankf 6.8M May 27 05:18 ./usr/lib/libQt5Widgets.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.2M May 27 05:01 ./usr/lib/libcairo.so.2.11600.0 total 1.7M -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 libMali.so.9.0 -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 ./usr/lib/headless/libMali.so.9.0 -rwxr-xr-x 1 hankf hankf 1.8M May 27 14:13 ./usr/lib/libgnutls.so.30.24.0 -rwxr-xr-x 1 hankf hankf 1.9M May 27 05:27 ./usr/lib/libQt5Charts.so.5.13.2 total 4.7M total 4.6M -rwxr-xr-x 1 hankf hankf 1.1M May 27 14:11 unicodedata.cpython-37m-aarch64-linux-gnu.so -rwxr-xr-x 1 hankf hankf 1.1M May 27 14:11 ./usr/lib/python3.7/lib-dynload/unicodedata.cpython-37m-aarch64-linux-gnu.so total 1.2M total 2.0M total 2.0M -rw-r--r-- 1 hankf hankf 1.4M May 27 14:11 pip-19.2.3-py2.py3-none-any.whl -rw-r--r-- 1 hankf hankf 1.4M May 27 14:11 ./usr/lib/python3.7/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl total 1.8M total 1.8M total 1.3M total 9.6M ls: cannot access './usr/lib/python3.7/site-packages/setuptools/script': No such file or directory ls: cannot access '(dev).tmpl': No such file or directory ls: cannot access './usr/lib/python3.7/site-packages/setuptools/command/launcher': No such file or directory ls: cannot access 'manifest.xml': No such file or directory total 2.3M total 1.1M total 1.1M -rwxr-xr-x 1 hankf hankf 1.3M May 27 05:18 ./usr/lib/libQt5XcbQpa.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.2M May 27 14:11 ./usr/lib/libglib-2.0.so.0.6000.7 -rwxr-xr-x 1 hankf hankf 1.9M May 27 14:11 ./usr/lib/libgio-2.0.so.0.6000.7 total 2.9M -rw-r--r-- 1 hankf hankf 2.9M Jul 15 17:38 locale-archive -rw-r--r-- 1 hankf hankf 2.9M Jul 15 17:38 ./usr/lib/locale/locale-archive -rwxr-xr-x 1 hankf hankf 4.9M May 27 05:23 ./usr/lib/libQt5Qml.so.5.13.2 total 1.4M total 1.1M -rwxr-xr-x 1 hankf hankf 1.1M May 27 14:05 ./usr/lib/libsqlite3.so.0.8.6 -rwxr-xr-x 1 hankf hankf 1.5M May 27 14:03 ./usr/lib/libvpx.so.6.1.0 -rwxr-xr-x 1 hankf hankf 1.8M May 27 14:02 ./usr/lib/libstdc++.so.6.0.27 -rwxr-xr-x 1 hankf hankf 2.5M May 27 14:04 ./usr/lib/libcrypto.so.1.1 -rwxr-xr-x 1 hankf hankf 1.6M May 27 05:26 ./usr/lib/libQt5WaylandCompositor.so.5.13.2 -rwxr-xr-x 1 hankf hankf 1.3M May 27 14:07 ./usr/lib/libX11.so.6.3.0 -rwxr-xr-x 1 hankf hankf 1.1M May 27 14:07 ./usr/lib/libasound.so.2.0.0 -rwxr-xr-x 1 hankf hankf 1.4M May 27 14:14 ./usr/lib/libxml2.so.2.9.9 -rwxr-xr-x 1 hankf hankf 1.3M May 27 05:00 ./usr/lib/libepoxy.so.0.0.0 -rwxr-xr-x 1 hankf hankf 1.3M May 27 14:20 ./usr/lib/libgstreamer-1.0.so.0.1601.0 total 1.7M -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 libMali.so.9.0 -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 ./usr/lib/fbdev/libMali.so.9.0 total 1.5M total 1.7M -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 libMali.so.9.0 -rw-r--r-- 1 hankf hankf 1.7M Jul 15 17:32 ./usr/lib/wayland/libMali.so.9.0 -rwxr-xr-x 1 hankf hankf 7.2M May 27 05:06 ./usr/lib/libgtk-3.so.0.2404.4 -rwxr-xr-x 1 hankf hankf 5.8M May 27 05:18 ./usr/lib/libQt5Gui.so.5.13.2 total 13M total 1.2M total 2.2M total 22M -rwxr-xr-x 1 hankf hankf 1.1M Jul 15 17:32 ctrlsw_encoder -rwxr-xr-x 1 hankf hankf 7.7M May 27 14:28 gdb -rwxr-xr-x 1 hankf hankf 2.2M May 27 05:03 Xorg -rwxr-xr-x 1 hankf hankf 2.2M May 27 05:03 ./usr/bin/Xorg -rwxr-xr-x 1 hankf hankf 1.1M Jul 15 17:32 ./usr/bin/ctrlsw_encoder -rwxr-xr-x 1 hankf hankf 7.7M May 27 14:28 ./usr/bin/gdb total 1.8M total 1.2M total 4.0M total 1.3M total 1.2M total 1.3M total 1.3M total 1.4M total 5.4M -rw-r--r-- 1 hankf hankf 5.4M May 27 14:08 magic.mgc -rw-r--r-- 1 hankf hankf 5.4M May 27 14:08 ./usr/share/misc/magic.mgc total 1.9M total 2.2M -rw-r--r-- 1 hankf hankf 2.2M May 27 05:17 libpnp_basictools.a -rw-r--r-- 1 hankf hankf 2.2M May 27 05:17 ./usr/share/examples/widgets/tools/plugandpaint/plugins/libpnp_basictools.a total 3.8M total 2.8M -rwxr-xr-x 1 hankf hankf 2.7M Jul 15 17:34 vcu_qt -rwxr-xr-x 1 hankf hankf 2.7M Jul 15 17:34 ./opt/vcu_qt/bin/vcu_qt total 2.0M

04 去掉不必要文件

根據(jù)上述找到的大文件,禁止不使用的軟件包,就能減小根文件系統(tǒng)大小。

比如,在petalinux工程中,禁止下列軟件包后,rootfs.cpio.gz從114MB,減小到16.4MB。下列內(nèi)容是從

project-spec/configs/rootfs_config提取的。

# CONFIG_gdb is not set # CONFIG_gdbserver is not set # CONFIG_kernel-module-hdmi is not set # CONFIG_packagegroup-core-x11 is not set # CONFIG_packagegroup-petalinux-audio is not set # CONFIG_packagegroup-petalinux-gstreamer is not set # CONFIG_packagegroup-petalinux-matchbox is not set # CONFIG_packagegroup-petalinux-qt is not set # packagegroup-petalinux-v4lutils # CONFIG_packagegroup-petalinux-v4lutils is not set # CONFIG_packagegroup-petalinux-x11 is not set # CONFIG_trd-init is not set # CONFIG_vcu-gst-app is not set # CONFIG_custom-edid is not set # CONFIG_gst-shark is not set # CONFIG_gstreamer-vcu-examples is not set # CONFIG_vcu-qt is not set

責(zé)任編輯:xj

原文標(biāo)題:【干貨分享】?jī)?yōu)化rootfs的大小

文章出處:【微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2185

    瀏覽量

    125335
  • rootfs
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    4811

原文標(biāo)題:【干貨分享】?jī)?yōu)化rootfs的大小

文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗(yàn)】問題3 擴(kuò)展ubuntu文件系統(tǒng)

    在ubuntu系統(tǒng)下,沒放多少自定義的東西,報(bào)空間不夠,原以為是內(nèi)存不夠,故換一個(gè)32G的SD卡作為文件系統(tǒng)(其實(shí)根本原因是rootfs.img鏡像
    發(fā)表于 07-08 22:11

    飛凌嵌入式ElfBoard ELF 1板卡-busybox構(gòu)建文件系統(tǒng)文件系統(tǒng)驗(yàn)證

    至此,我們已經(jīng)完成了一個(gè)最小文件系統(tǒng)的構(gòu)建,現(xiàn)在我們使用nfs將其掛載為網(wǎng)絡(luò)文件系統(tǒng),進(jìn)行測(cè)試。開發(fā)板啟動(dòng)之后,在uboot階段,修改bootargs環(huán)境變量。在mmcargs中進(jìn)行修改:=&
    發(fā)表于 06-23 16:10

    飛凌嵌入式ElfBoard ELF 1板卡-busybox構(gòu)建文件系統(tǒng)之Busybox編譯

    下載進(jìn)入busybox網(wǎng)址https://busybox.net/,下載最新版本busybox1.32.1。本人沒有測(cè)試過該版本的穩(wěn)定性,本教程主要講解如何使用busybox構(gòu)建文件系統(tǒng),如果有同學(xué)
    發(fā)表于 06-19 17:23

    飛凌嵌入式ElfBoard ELF 1板卡-文件系統(tǒng)簡(jiǎn)介

    /服務(wù)器上Linux的文件系統(tǒng)是一樣的,只是嵌入式Linux文件系統(tǒng)根據(jù)產(chǎn)品功能進(jìn)行過裁剪,在內(nèi)容多少和體積大小上不同。進(jìn)行嵌入式Linux產(chǎn)品開發(fā),構(gòu)建一個(gè)合適的文件系統(tǒng)是不可或缺的
    發(fā)表于 06-19 17:22

    飛凌嵌入式ElfBoard ELF 1板卡-busybox構(gòu)建文件系統(tǒng)之添加必要目錄和庫(kù)

    、添加啟動(dòng)文件在/busybox/examples/etc文件夾中存在有啟動(dòng)相關(guān)的文件,我們將該etc文件夾復(fù)制到我們創(chuàng)建的文件系統(tǒng)中:el
    發(fā)表于 06-19 17:20

    如何正確選擇嵌入式文件系統(tǒng)?

    Linux嵌入式系統(tǒng)中,文件系統(tǒng)和緩存機(jī)制常導(dǎo)致數(shù)據(jù)存儲(chǔ)穩(wěn)定性問題。本文通過案例分析原因,對(duì)比不同文件系統(tǒng)特性,為開發(fā)者提供優(yōu)化建議,助力提升數(shù)據(jù)穩(wěn)定性和
    的頭像 發(fā)表于 03-17 11:35 ?500次閱讀
    如何正確選擇嵌入式<b class='flag-5'>文件系統(tǒng)</b>?

    在stm32cubeprogrammer上燒錄時(shí),取消勾選文件系統(tǒng),燒錄后發(fā)現(xiàn)sd卡上文件系統(tǒng)的分區(qū)沒有了,為什么?

    在修改了linux內(nèi)核后,我想只把bootfs燒錄到sd卡上,而不擦除根文件系統(tǒng)的分區(qū)。 我在stm32cubeprogrammer上燒錄時(shí),取消勾選文件系統(tǒng),燒錄后發(fā)現(xiàn)sd卡上
    發(fā)表于 03-07 06:38

    防止文件系統(tǒng)破壞,OverlayRootfs 讓你的設(shè)備更安全

    OverlayRootfs介紹OverlayRootfs是指利用OverlayFS技術(shù)創(chuàng)建的文件系統(tǒng)(rootfilesystem)。OverlayFS是一種聯(lián)合文件系統(tǒng)(UnionFS),允許將
    的頭像 發(fā)表于 01-08 16:33 ?1439次閱讀
    防止<b class='flag-5'>根</b><b class='flag-5'>文件系統(tǒng)</b>破壞,OverlayRootfs 讓你的設(shè)備更安全

    Linux文件系統(tǒng)的掛載過程

    Linux文件系統(tǒng)rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點(diǎn),它是內(nèi)核啟動(dòng)時(shí)掛載的第一個(gè)
    的頭像 發(fā)表于 10-05 16:50 ?968次閱讀

    如何構(gòu)建Linux文件系統(tǒng)

    構(gòu)建Linux文件系統(tǒng)是一個(gè)涉及多個(gè)步驟和概念的過程,它對(duì)于Linux系統(tǒng)的啟動(dòng)和運(yùn)行至關(guān)重要。
    的頭像 發(fā)表于 10-05 16:47 ?684次閱讀

    小型文件系統(tǒng)如何選擇?FatFs和LittleFs優(yōu)缺點(diǎn)比較

    01? 概述 文件系統(tǒng)在嵌入式系統(tǒng)中的作用不可或缺,它提供了對(duì)非易失性存儲(chǔ)設(shè)備(如閃存、SD卡等)上的數(shù)據(jù)進(jìn)行有效組織和管理的能力。通過文件系統(tǒng),嵌入式系統(tǒng)可以像在傳統(tǒng)計(jì)算機(jī)上一樣創(chuàng)建
    的頭像 發(fā)表于 09-29 16:14 ?3889次閱讀
    小型<b class='flag-5'>文件系統(tǒng)</b>如何選擇?FatFs和LittleFs優(yōu)缺點(diǎn)<b class='flag-5'>比較</b>

    [2K300適配OpenharmonyV4.1]文件系統(tǒng)制作請(qǐng)教

    文件系統(tǒng)rootfs.img燒錄到2k300上,燒錄失敗。對(duì)比2k300開源資料中的Openharmony 文件系統(tǒng),該文件系統(tǒng)為ext4格式,但是2k500編譯出來的為Ubifs
    發(fā)表于 09-11 11:18

    官方,buildroot文件系統(tǒng)支持gstreamer嗎?

    問題: 查看釋放的文件系統(tǒng),發(fā)現(xiàn)rootfs\\\\usr\\\\lib\\\\qt\\\\plugins\\\\mediaservice\\\\目錄,只有 沒有類似下面的庫(kù) 這樣會(huì)導(dǎo)致在執(zhí)行Qt
    發(fā)表于 08-19 09:10

    STM32MP157D使用buildroot生成文件系統(tǒng)時(shí)就無法正常顯示,為什么?

    )時(shí)能正常顯示,如下圖,但是我自己使用buildroot生成文件系統(tǒng)時(shí)就無法正常顯示了,使用\"echo test_heool > /dev/tty1\"屏幕無輸出
    發(fā)表于 07-26 06:21

    如何修改buildroot和debian文件系統(tǒng)

    本文檔主要介紹在沒有編譯環(huán)境的情況下,如何修改buildroot和debian文件系統(tǒng)方法,如在buildroot文件系統(tǒng)中添加文件、修改目錄等文件操作,在debian
    的頭像 發(fā)表于 07-22 17:46 ?888次閱讀
    如何修改buildroot和debian<b class='flag-5'>文件系統(tǒng)</b>