一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲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)不再提示

Linux文件系統(tǒng)打包及鏡像制作,觸覺智能RK3562開發(fā)板演示

觸覺智能 ? 2025-04-28 16:45 ? 次閱讀

本文介紹Linux開發(fā)板文件系統(tǒng)打包及鏡像制作的方法,演示Linux文件系統(tǒng)打包及鏡像制作,適用于想將配置好的系統(tǒng)環(huán)境打包成鏡像批量燒錄。觸覺智能RK3562開發(fā)板演示,搭載4核A53處理器,主頻高達(dá)2.0GHz;內(nèi)置獨(dú)立1Tops算力NPU,可應(yīng)用于物聯(lián)網(wǎng)網(wǎng)關(guān)、平板電腦、智能家居、教育電子、工業(yè)顯示與控制等行業(yè)。

工具獲取

本文所介紹的方法需要使用到Linux環(huán)境下的一些工具。工具可聯(lián)系觸覺智能客服或留言獲取。下載Ubuntu PC環(huán)境后,需要解包后使用,解包方法如下:

$ tar -vxf ido-pack-tools.tar -C ./

解包后的文件內(nèi)容如下:

wKgZPGgPQEeASExlAAA9TYlID6A41.jpeg

工具包腳本默認(rèn)芯片信息是rk3562,如果使用其他芯片,則需要修改芯片信息,對(duì)應(yīng)路徑ido-pack-tools/mkupdate.sh。

wKgZO2gPQEeAPeI-AABPlLsaijw86.jpeg

文件系統(tǒng)打包及文件系統(tǒng)鏡像制作

  • 從開發(fā)板中打包出文件系統(tǒng)

先在開發(fā)板中插入U(xiǎn)盤或TF卡,然后通過mount命令查看文件系統(tǒng)分區(qū)節(jié)點(diǎn),如下所示:

root@ido:/# mount /dev/mmcblk2p8 on / type ext4 (rw,relatime) devtmpfs on /dev type devtmpfs (rw,relatime,size=996844k,nr_inodes=249211,mode=755) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,size=1008396k,nr_inodes=252099) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,size=201680k,nr_inodes=252099,mode=755) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,nr_inodes=252099) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=1008396k,nr_inodes=252099,mode=755) cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd) pstore on /sys/fs/pstore type pstore (rw,relatime) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) debugfs on /sys/kernel/debug type debugfs (rw,relatime) tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime) configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) adb on /dev/usb-ffs/adb type functionfs (rw,relatime) tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=201676k,nr_inodes=252099,mode=700) tmpfs on /run/user/1001 type tmpfs (rw,nosuid,nodev,relatime,size=201676k,nr_inodes=252099,mode=700,uid=1001,gid=1001) gvfsd-fuse on /run/user/1001/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1001,group_id=1001) /dev/mmcblk2p7 on /media/ido/oem type ext4 (rw,nosuid,nodev,relatime,uhelper=udisks2) /dev/mmcblk2p6 on /media/ido/userdata type ext4 (rw,nosuid,nodev,relatime,uhelper=udisks2) /dev/sda1 on /media/ido/U type vfat (rw,nosuid,nodev,relatime,uid=1001,gid=1001,fmask=0022,dmask=0022,codepage=936,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

由上面命令第2和29行可以看到

/dev/mmcblk2p8 on/type ext4 (rw,relatime),/dev/mmcblk2p8

掛載到根目錄,/dev/mmcblk2p8就是我們需要的節(jié)點(diǎn)。U盤掛載目錄為/media/ido/U。

# 掛載根文件目錄 $ sudo mount /dev/mmcblk2p8 /mnt # 進(jìn)入掛載文件夾 $ cd /mnt $ rm var/lib/misc/firstrun $ sudo tar -czf /media/ido/U/ido-rootfs.tar.gz ./* $ sync

注意:打包使用tar命令需要用sudo權(quán)限。

  • 壓縮包解壓

將打包出的壓縮包,解壓至Ubuntu PC端環(huán)境,命令如下:

$ mkdir -p your/target/path/ $ sudo tar -xzf ido-rootfs.tar.gz -C your/target/path/

  • 文件系統(tǒng)鏡像制作

查看文件系統(tǒng)大小,如下所示:

$ sudo du -sh your/target/path/

制作鏡像需要的腳本文件mk-rootfs-image.sh,文件位于工具包的pack-tools/roofs_mk/目錄。根據(jù)系統(tǒng)大小修改 mk-rootfs-image.sh 腳本第25行的參數(shù),默認(rèn)鏡像大小設(shè)置為4096MB。

dd if=/dev/zero of=${ROOTFSIMAGE} bs=1M count=0 seek=4096

注意:一般腳本中設(shè)置的鏡像大小需要大于 du 返回值。

$ sudo cd pack-tools/roofs_mk/ $ sudo ./mk-rootfs-image.sh ../../your/target/path/

腳本正常運(yùn)行退出后,可在目錄得到rootfs.img的文件系統(tǒng)鏡像。

制作整包固件update.img

前面文章得到了rootfs.img散包固件,接下來我們制作update.img整包固件。

此處分兩種情況:

1. 只修改文件系統(tǒng),只需將原本燒錄的update.img鏡像解包后,替換新制作的rootfs.img。

2. 如果除了文件系統(tǒng)外還有其他修改,則可以修改sdk源碼編譯腳本,編譯的時(shí)候使用自定義的文件系統(tǒng)。

  • 只修改文件系統(tǒng)的情況

將需要解包的完整鏡像文件拷貝到工具包 pack-tools 目錄下,此處以完整鏡像 IDO-EVB3562-V1B_MIPI-800x1280_Ubuntu20_QT5_240719.img為例。

wKgZPGgPQEeAaudBAACW7HOKmU054.jpeg

執(zhí)行解包腳本,將update鏡像按照分區(qū)拆分出分區(qū)鏡像。

$ ./unpack.sh IDO-EVB3562-V1B_MIPI-800x1280_Ubuntu20_QT5_240719.img

執(zhí)行結(jié)果如下:

wKgZO2gPQEeAEyfzAAEBaKEaT0M55.jpeg

分區(qū)文件解包存放到./output/目錄。

wKgZPGgPQEeAa_zuAAAxA9kF6n053.jpeg

將文章第2節(jié)中打包好的文件系統(tǒng)鏡像復(fù)制替換到./output/rootfs.img,文件名稱必須為rootfs.img。

最后執(zhí)行./mkupdate.sh腳本將分區(qū)鏡像合并為一個(gè)完整的鏡像update.img。

wKgZO2gPQEeAMEJ-AAFgyL9BXVo66.jpeg

腳本運(yùn)行成功后,將會(huì)產(chǎn)生新的整包文件./output/update.img。

  • 除了文件系統(tǒng)外還有其他修改的情況

不同SDK修改的地方不一致,在sdk中新建自定義目錄myrootfs,把rootfs.img放入其中(myrootfs和build.sh同級(jí)目錄)。

mkdir myrootfs #將rootfs.img放入myrootfs中 ls myrootfs/rootfs.img

情況一:直接修改build.sh,使其編譯時(shí)使用我們的rootfs.img打包。在build.sh的function build_rootfs()函數(shù)中,添加24-27行代碼。

function build_rootfs(){ check_config RK_ROOTFS_IMG || return 0 RK_ROOTFS_DIR=.rootfs ROOTFS_IMG=${RK_ROOTFS_IMG##*/} rm -rf $RK_ROOTFS_IMG $RK_ROOTFS_DIR mkdir -p ${RK_ROOTFS_IMG%/*} $RK_ROOTFS_DIR case "$1" in yocto) build_yocto ln -rsf yocto/build/latest/rootfs.img \ $RK_ROOTFS_DIR/rootfs.ext4 ;; debian) build_debian ln -rsf debian/linaro-rootfs.img \ $RK_ROOTFS_DIR/rootfs.ext4 ;; distro) build_distro for f in $(ls distro/output/images/rootfs.*);do ln -rsf $f $RK_ROOTFS_DIR/ done ;; myrootfs) ln -rsf myrootfs/rootfs.img \ $RK_ROOTFS_DIR/rootfs.ext4 ;; *) build_buildroot for f in $(ls buildroot/output/$RK_CFG_BUILDROOT/images/rootfs.*);do ln -rsf $f $RK_ROOTFS_DIR/ done ;; esac

在執(zhí)行build.sh lunch后,執(zhí)行以下命令:

export RK_ROOTFS_SYSTEM=myrootfs

最后執(zhí)行build.sh即可生成包含了rootfs.img的update.img整包固件。

./build.sh

rockdev/update.img即為我們所需的完整固件。

情況二:如果build.sh腳本中沒有function build_rootfs()函數(shù),則修改

./device/rockchip/common/scripts/mk-rootfs.sh,添加以下8-12行與35行代碼:

....省略部分代碼........ build_ubuntu20() { ln -rsf "$PWD/ubuntu/rootfs-ubuntu20.04-desktop.img" $ROOTFS_DIR/rootfs.ext4 finish_build build_ubuntu20 $@ } build_myrootfs() { ln -rsf "$PWD/myrootfs/rootfs.img" $ROOTFS_DIR/rootfs.ext4 finish_build build_myrootfs $@ } ....省略部分代碼........ build_hook() { check_config RK_ROOTFS_TYPE || return 0 if [ -z "$1" -o "$1" = rootfs ]; then ROOTFS=${RK_ROOTFS_SYSTEM:-buildroot} else ROOTFS=$1 fi ROOTFS_IMG=rootfs.${RK_ROOTFS_TYPE} ROOTFS_DIR="$RK_OUTDIR/rootfs" echo "==========================================" echo " Start building rootfs($ROOTFS)" echo "==========================================" rm -rf "$ROOTFS_DIR" mkdir -p "$ROOTFS_DIR" case "$ROOTFS" in yocto) build_yocto "$ROOTFS_DIR" ;; debian) build_debian "$ROOTFS_DIR" ;; buildroot) build_buildroot "$ROOTFS_DIR" ;; ubuntu) build_ubuntu20 "$ROOTFS_DIR" ;; myrootfs)build_myrootfs "$ROOTFS_DIR" ;; *) usage ;; esac

修改

./device/rockchip/common/configs/Config.in.rootfs,添加以下7、20、21行代碼:

config RK_ROOTFS_SYSTEM string default "buildroot" if RK_ROOTFS_SYSTEM_BUILDROOT default "debian" if RK_ROOTFS_SYSTEM_DEBIAN default "yocto" if RK_ROOTFS_SYSTEM_YOCTO default "ubuntu" if RK_ROOTFS_SYSTEM_UBUNTU default "myrootfs" if RK_ROOTFS_SYSTEM_MYROOTFS choice prompt "default rootfs system" help Default rootfs system. config RK_ROOTFS_SYSTEM_BUILDROOT bool "buildroot" depends on RK_BUILDROOT_BASE_CFG != "" config RK_ROOTFS_SYSTEM_DEBIAN bool "debian" depends on RK_DEBIAN_VERSION != "" config RK_ROOTFS_SYSTEM_UBUNTU bool "ubuntu" config RK_ROOTFS_SYSTEM_MYROOTFS bool "myrootfs"

在執(zhí)行build.sh lunch命令后,執(zhí)行以下命令:

export RK_ROOTFS_SYSTEM=myrootfs

最后執(zhí)行build.sh命令,即可生成包含了rootfs.img的update.img整包固件。

./build.sh

rockdev/update.img即為我們所需的完整固件。

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

    關(guān)注

    25

    文章

    5389

    瀏覽量

    100876
  • Linux開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    7187
  • RK3568
    +關(guān)注

    關(guān)注

    5

    文章

    562

    瀏覽量

    5920
  • RK3588
    +關(guān)注

    關(guān)注

    7

    文章

    393

    瀏覽量

    5385
  • RK3566
    +關(guān)注

    關(guān)注

    0

    文章

    155

    瀏覽量

    5441
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    從EVB3568開發(fā)板打包備份Debian文件系統(tǒng)的方法

    本文以EVB3568開發(fā)板為例,介紹從開發(fā)板打包備份Debian文件系統(tǒng)的方法,以及將備份出的文件制作
    的頭像 發(fā)表于 07-10 13:12 ?2958次閱讀

    RK3562開發(fā)板:安卓Linux開發(fā)從入門到精通(一)

    導(dǎo)讀對(duì)于初涉嵌入式軟件開發(fā)的探索者,掌握開發(fā)板并實(shí)戰(zhàn)項(xiàng)目是不可或缺的一環(huán)。一套系統(tǒng)詳盡的入門指南猶如明燈。若你鐘情于嵌入式軟件,那么這款開發(fā)板或許能成為你理想的起點(diǎn)。IDO-EVB
    的頭像 發(fā)表于 03-28 08:31 ?1487次閱讀
    <b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b>:安卓<b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>從入門到精通(一)

    RK3562開發(fā)板:安卓Linux開發(fā)從入門到精通(二)

    導(dǎo)讀通過上篇介紹RK3562的文章我們學(xué)習(xí)了關(guān)于:認(rèn)識(shí)接口、固件下載、安裝驅(qū)動(dòng)和燒錄工具、燒錄固件等內(nèi)容。這些知識(shí)的回顧,希望能夠幫助您更好地理解RK3562的使用方法和開發(fā)流程。接下來這篇教程中
    的頭像 發(fā)表于 04-02 08:31 ?1515次閱讀
    <b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b>:安卓<b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>從入門到精通(二)

    迅為RK3562開發(fā)板安卓人工智能主板性能之選

    迅為RK3562開發(fā)板安卓人工智能主板性能之選
    的頭像 發(fā)表于 05-31 11:32 ?1357次閱讀
    迅為<b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b>安卓人工<b class='flag-5'>智能</b>主板性能之選

    迅為國產(chǎn)四核RK3562開發(fā)板底板硬件接口原理說明

    迅為國產(chǎn)四核RK3562開發(fā)板底板硬件接口原理說明
    的頭像 發(fā)表于 06-14 15:27 ?2440次閱讀
    迅為國產(chǎn)四核<b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b>底板硬件接口原理說明

    新一代低價(jià)開發(fā)板芯片RK3562來啦! — 觸覺智能RK3562開發(fā)板

    最近我收到了個(gè)一套開發(fā)板,有核心,開發(fā)板,還有個(gè)7英寸觸摸屏幕。這些東西,都是一家叫做觸覺智能的公司做的基于瑞芯微
    的頭像 發(fā)表于 08-15 17:42 ?2433次閱讀
    新一代低價(jià)<b class='flag-5'>開發(fā)板</b>芯片<b class='flag-5'>RK3562</b>來啦! — <b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b>

    Linux系統(tǒng)連接藍(lán)牙、WiFi方法分享,適用瑞芯微RK3562等主板產(chǎn)品

    Linux系統(tǒng)連接藍(lán)牙、WiFi方法分享,適用瑞芯微RK3562、RK3568、RK3588等開發(fā)板
    的頭像 發(fā)表于 09-12 10:24 ?911次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>連接藍(lán)牙、WiFi方法分享,適用瑞芯微<b class='flag-5'>RK3562</b>等主板產(chǎn)品

    Linux查看觸摸坐標(biāo)點(diǎn)的方法,觸覺智能RK3562開發(fā)板,瑞芯微、全志等通用

    平時(shí)輸入設(shè)備無響應(yīng)等異常情況時(shí),更換正常設(shè)備后仍然異常的情況下,可借助evtest工具查看內(nèi)核的上報(bào)事件信息,協(xié)助定位問題所在。本次使用觸覺智能RK3562開發(fā)板
    的頭像 發(fā)表于 10-02 17:12 ?618次閱讀
    <b class='flag-5'>Linux</b>查看觸摸坐標(biāo)點(diǎn)的方法,<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b>,瑞芯微、全志等通用

    Linux系統(tǒng)掛載exfat格式U盤教程,觸覺智能RK3562開發(fā)板演示

    本文介紹Linux系統(tǒng)(Ubuntu/Debian通用)掛載exfat格式U盤的方法,觸覺智能RK3562
    的頭像 發(fā)表于 12-10 10:10 ?518次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>掛載exfat格式U盤教程,<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>演示</b>

    瑞芯微主板/開發(fā)板Linux系統(tǒng)播放音頻方法,觸覺智能RK3562開發(fā)板演示

    本文介紹瑞芯微方案主板/開發(fā)板Linux系統(tǒng)播放音頻的方法,觸覺智能RK3562
    的頭像 發(fā)表于 12-13 11:40 ?665次閱讀
    瑞芯微主板/<b class='flag-5'>開發(fā)板</b><b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>播放音頻方法,<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>演示</b>

    瑞芯微平臺(tái)Android系統(tǒng)串口測試方法,觸覺智能RK3562開發(fā)板演示

    瑞芯微方案主板Android系統(tǒng)串口測試方法,通用RK3568、RK3566、RK3588、RK3576等。
    的頭像 發(fā)表于 12-24 11:51 ?676次閱讀
    瑞芯微平臺(tái)Android<b class='flag-5'>系統(tǒng)</b>串口測試方法,<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>演示</b>

    嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺智能出品

    實(shí)用干貨!嵌入式開發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)關(guān)注觸覺
    的頭像 發(fā)表于 12-31 10:51 ?117次閱讀
    嵌入式<b class='flag-5'>開發(fā)</b>必備-<b class='flag-5'>RK3562</b><b class='flag-5'>演示</b><b class='flag-5'>Linux</b>常用<b class='flag-5'>系統(tǒng)</b>查詢命令(上)<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b>出品

    嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(下)

    本文繼續(xù)介紹Linux系統(tǒng)查看硬件配置及常用調(diào)試命令,方便開發(fā)者快速了解開發(fā)板硬件信息及進(jìn)行相關(guān)調(diào)試。觸覺
    的頭像 發(fā)表于 01-03 13:54 ?534次閱讀
    嵌入式<b class='flag-5'>開發(fā)</b>必備-<b class='flag-5'>RK3562</b><b class='flag-5'>演示</b><b class='flag-5'>Linux</b>常用<b class='flag-5'>系統(tǒng)</b>查詢命令(下)

    Linux系統(tǒng)更換開機(jī)logo方法教程,觸覺智能RK3562開發(fā)板演示

    本文介紹Linux系統(tǒng)更換開機(jī)logo方法教程,通用RK3566、RK3568、RK3588、RK
    的頭像 發(fā)表于 01-06 10:53 ?535次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>更換開機(jī)logo方法教程,<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK3562</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>演示</b>

    信息安全管理必備!Linux系統(tǒng)使用SSH登錄root賬號(hào)的方法

    Linux遠(yuǎn)程管理信息安全必備!本文介紹各類Linux開發(fā)板/主板使用SSH登錄root賬號(hào)的方法,使用觸覺智能
    的頭像 發(fā)表于 02-12 15:46 ?459次閱讀
    信息安全管理必備!<b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>使用SSH登錄root賬號(hào)的方法