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

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

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

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

2132110287 ? 來源:萬象奧科 ? 2024-07-22 17:46 ? 次閱讀

本文檔主要介紹在沒有編譯環(huán)境的情況下,如何修改buildroot和debian文件系統(tǒng)方法,如在buildroot文件系統(tǒng)中添加文件、修改目錄等文件操作,在debian文件系統(tǒng)中,安裝軟件庫、工具、擴大文件系統(tǒng)空間等等操作。

1.Debian文件系統(tǒng)

1.1此操作可在虛擬機中完成,首先需要創(chuàng)建一個文件夾

sudo mkdir debian/

1.2 然后將文件系統(tǒng)鏡像 linaro-rootfs.img掛載到debian文件夾

sudo mount linaro-rootfs.img debian/

1.3 進入debian就可以看到文件系統(tǒng)的結(jié)構(gòu)了

6f95ccc747a2e4bba2052cb7a218dfbb.png

這時可以對文件系統(tǒng)進行文件操作,修改完成后取消掛載即可

1.4 如果需要安裝一些軟件庫或者某些工具則需要依賴qemu工具,先在本地環(huán)境安裝qemu-user-static工具

sudoaptupdate
sudo apt-getinstallqemu-user-static

1.5 然后需要將安裝的qemu工具復(fù)制到固件掛載的對應(yīng)目錄下,這樣是為了在宿主機上模擬ARM架構(gòu)時,可以確保在模擬環(huán)境中運行的程序能夠找到并使用這個工具,從而保持環(huán)境的一致性。

sudo cp /usr/bin/qemu-aarch64-static debian-mount/usr/bin/

這里的aarch64代表是ARM架構(gòu)的64位版本

1.6 然后再使用ch-mount.sh腳本進入到固件內(nèi)部

#!/bin/bash
IP="www.baidu.com"
NUM=3


func_ping()
{
  ping $IP -c $NUM > ping.txt
  echo ""
  echo ""
  echo ""
  if [ ! -z "`grep "reachable" ping.txt`" ]; then
    echo "----------------------------------"
    echo " "
    echo " Now is unreachable! Please check whether the computer has Internet access."
    echo " "
    echo "----------------------------------"
    rm ping.txt
  exit
  fi 
  echo "Internet is OK."
  rm ping.txt
}

function mnt() {
  echo "MOUNTING"
  echo "To exit, press 'ctrl + d'"
  sudo mount -t proc /proc ${2}/proc
  sudo mount -t sysfs /sys ${2}/sys
  sudo mount -o bind /dev ${2}/dev
  sudo chroot ${2}
}
function umnt() {
  echo "UNMOUNTING"
  sudo umount ${2}/proc
  sudo umount ${2}/sys
  sudo umount ${2}/dev
}


if [ "$1" == "-m" ] && [ -n "$2" ] ;
then
  mnt $1 $2
  umnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
  umnt $1 $2
else
  echo ""
  echo "Either 1'st, 2'nd or both parameters were missing"
  echo ""
  echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
  echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
  echo ""
  echo "For example: ch-mount -m /media/sdcard/"
  echo ""
  echo 1st parameter : ${1}
  echo 2nd parameter : ${2}
fi

如果使用腳本掛載報錯,則很有可能是qemu-aarch64-static工具沒有復(fù)制到對應(yīng)目錄下

如果模擬掛載成功,就能看到文件系統(tǒng)內(nèi)部,這時就可以在文件系統(tǒng)內(nèi)部中使用apt工具,安裝所需要的版本庫和對應(yīng)工具,安裝完成后按下“ctrl + d”可以保存推出掛載。

fb2c275bf17dc747851bfddcddbddc5c.png

1.7 如果在固件內(nèi)部安裝工具時,發(fā)現(xiàn)空間不足,則需要使用到qemu-kvm工具來修改鏡像大小,首先要在本地環(huán)境安裝qemu-kvm工具

sudo apt-get install qemu-kvm

1.8 修改固件鏡像大小需要對debian掛載目錄進行權(quán)限修改

sudo mount -o remount linaro-rootfs.img debian/

1.9 這時候就可以對文件系統(tǒng)大小進行修改,修改大小“+”后面的單位有K、M、G

sudo qemu-img resize -f raw linaro-rootfs.img +1G

2.0 然后需要取消掛載再使用resize2fs工具調(diào)整文件系統(tǒng)的大小

sudo umount /work/bsp/rk356x_bsp/rockdev/debian
sudo resize2fs-f linaro-rootfs.img

8bd38facdebfbceb3549f49443e56c2c.png

打印這些信息就說明文件系統(tǒng)修改成功,可以再使用ch-mount.sh掛載進去查看df -h查看是否修改成功

2.Buildroot文件系統(tǒng)

Buildroot文件系統(tǒng)我們提供的標(biāo)準(zhǔn)固件沒有apt工具,所以并不能通過qemu工具模擬ARM架構(gòu),來apt安裝工具,如果需要,則還是用工具源碼交叉編譯后手動移植到文件系統(tǒng)中。

Buildroot文件系統(tǒng)可以直接掛載進去來對文件或者目錄進行操作,取消掛載即可保存。

4dc932141a58214e6fe037a0da9fe444.png? ??

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

    關(guān)注

    0

    文章

    284

    瀏覽量

    19911
  • 虛擬機
    +關(guān)注

    關(guān)注

    1

    文章

    917

    瀏覽量

    28196
  • Buildroot
    +關(guān)注

    關(guān)注

    1

    文章

    48

    瀏覽量

    1397
  • Debian
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    1172

原文標(biāo)題:如何快速修改Buildroot及Debian文件系統(tǒng)?

文章出處:【微信號:萬象奧科,微信公眾號:萬象奧科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于Buildroot的Linux系統(tǒng)構(gòu)建之根文件系統(tǒng)

    基本的Linux根文件系統(tǒng)是Unix文件夾目錄層次結(jié)構(gòu),skeleton是構(gòu)建根文件系統(tǒng)的基礎(chǔ)。   skeleton配置入口:   System configuration ---》Root FS skeleton   
    發(fā)表于 04-01 10:46 ?2615次閱讀

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

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

    Debian文件系統(tǒng)的構(gòu)建步驟

    迅為IMX6ULL開發(fā)板-Debian文件系統(tǒng)的構(gòu)建
    發(fā)表于 12-28 06:58

    怎樣使用buildroot構(gòu)建根文件系統(tǒng)

    使用buildroot構(gòu)建根文件系統(tǒng)一、buildroot介紹使用busybox 構(gòu)建文件系統(tǒng)的時候,busybox 僅僅只是幫我們構(gòu)建好了一些常用的命令和
    發(fā)表于 11-05 08:13

    buildroot構(gòu)建根文件系統(tǒng)報錯是什么原因

    buildroot構(gòu)建根文件系統(tǒng)報錯:xtyc@ubuntu:~/work/buildroot-2019.02.9$ sudo make>>>
    發(fā)表于 01-07 07:13

    Firefly Debian文件系統(tǒng)使用手冊指南

    Debian 是一個根文件系統(tǒng),所以只需要將 Firefly 官方提供的固件的 rootfs.img 根文件系統(tǒng)替換成 Debian文件系統(tǒng)
    發(fā)表于 07-12 17:56

    使用Buildroot構(gòu)建根文件系統(tǒng)的方法簡析

    1、怎么使用Buildroot構(gòu)建根文件系統(tǒng)?  制作根文件系統(tǒng)有歸多種方法:  使用Busybox手工制作  Busybox本身包含了很了Linux命令,但是要編譯其他程序的話需要手工下載、編譯
    發(fā)表于 11-04 15:41

    如何定制Buildroot文件系統(tǒng)-基于TQT507開發(fā)板

    本文檔介紹在開發(fā)時 如何定制文件系統(tǒng) (buildroot添加應(yīng)用軟件/文件),適用于天嵌開發(fā)板TQT507 。 **1.Buildroot簡介**
    發(fā)表于 06-01 09:03

    Linux文件系統(tǒng)課程

    本章學(xué)習(xí)目標(biāo)理解什么是文件系統(tǒng)了解文件系統(tǒng)工作原理理解Fedora Core Linux文件系統(tǒng)的結(jié)構(gòu)掌握Fedora Core Linux文件系統(tǒng)的類型、權(quán)限和
    發(fā)表于 04-10 17:07 ?0次下載

    debian安裝zfs文件系統(tǒng)

    ZFS文件系統(tǒng)的英文名稱為Zettabyte File System,也叫動態(tài)文件系統(tǒng),是第一個128位文件系統(tǒng)。最初是由Sun公司為Solaris 10操作系統(tǒng)開發(fā)的
    的頭像 發(fā)表于 02-12 16:47 ?1.1w次閱讀
    <b class='flag-5'>debian</b>安裝zfs<b class='flag-5'>文件系統(tǒng)</b>

    Debian可以從F2FS根文件系統(tǒng)運行了

    不少用戶希望通過將 Flash-Friendly File-System (F2FS) 作為根文件系統(tǒng)來啟動和運行 Debian,現(xiàn)在這個目標(biāo)將有望達成了。
    的頭像 發(fā)表于 01-13 14:37 ?2644次閱讀

    嵌入式Linux學(xué)習(xí)之旅(10)— 使用buildroot構(gòu)建根文件系統(tǒng)

    使用buildroot構(gòu)建根文件系統(tǒng)一、buildroot介紹使用busybox 構(gòu)建文件系統(tǒng)的時候,busybox 僅僅只是幫我們構(gòu)建好了一些常用的命令和
    發(fā)表于 11-02 14:36 ?10次下載
    嵌入式Linux學(xué)習(xí)之旅(10)— 使用<b class='flag-5'>buildroot</b>構(gòu)建根<b class='flag-5'>文件系統(tǒng)</b>

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

    本文以EVB3568開發(fā)板為例,介紹從開發(fā)板打包備份Debian文件系統(tǒng)的方法,以及將備份出的文件制作成可以用于燒錄的文件系統(tǒng)鏡像和完整固件包的方法。
    的頭像 發(fā)表于 07-10 13:12 ?2779次閱讀

    【北京迅為】i.MX6ULL開發(fā)板移植 Debian 文件系統(tǒng)

    【北京迅為】i.MX6ULL開發(fā)板移植 Debian 文件系統(tǒng)
    的頭像 發(fā)表于 02-10 15:34 ?1151次閱讀
    【北京迅為】i.MX6ULL開發(fā)板移植 <b class='flag-5'>Debian</b> <b class='flag-5'>文件系統(tǒng)</b>

    技術(shù)分享 | RK3568開發(fā)板 buildroot編譯配置

    啟揚智能RK3568開發(fā)板提供兩種文件系統(tǒng),一種是Debian,另外一種是BuildRoot。在使用過程中,有些客戶需要添加屬于自己的軟件包,所以在此分享啟揚RK3568關(guān)于BuildRoot
    的頭像 發(fā)表于 04-13 10:32 ?3913次閱讀
    技術(shù)分享 | RK3568開發(fā)板 <b class='flag-5'>buildroot</b>編譯配置