RM新时代网站-首页

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

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

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

如何制作ubuntu20.04的文件系統(tǒng)

嵌入式與Linux那些事 ? 來(lái)源:嵌入式與Linux那些事 ? 作者:嵌入式與Linux那些 ? 2022-10-17 12:12 ? 次閱讀

firefly自帶的文件系統(tǒng),由于缺少一些基本功能模塊,因此,我們可以自己手動(dòng)制作一個(gè)ubuntu20.04的文件系統(tǒng)。

下載Ubuntu根文件系統(tǒng)

安裝虛擬機(jī)

apt-getinstallqemu-user-static

解壓

mkdirubuntu-rootfs
tar-xpfubuntu-base-20.04.5-base-arm64.tar.gz-Cubuntu-rootfs

復(fù)制一下虛擬機(jī)的運(yùn)行環(huán)境

cp-b/etc/resolv.confubuntu-rootfs/etc/resolv.conf
cp/usr/bin/qemu-aarch64-staticubuntu-rootfs/usr/bin/

復(fù)制官方外設(shè)驅(qū)動(dòng)文件

將開(kāi)發(fā)板掛載到虛擬機(jī)上,將開(kāi)發(fā)板的/vendor,/system,/lib/firmware,這三個(gè)文件夾復(fù)制到我們自己的文件系統(tǒng)中。

掛載根文件系統(tǒng)

創(chuàng)建ch-mount.sh文件,寫(xiě)入以下腳本

#!/bin/bash
#
functionmnt(){
echo"MOUNTING..."
sudomount-tproc/proc${2}proc
sudomount-tsysfs/sys${2}sys
sudomount-obind/dev${2}dev
sudomount-obind/dev/pts${2}dev/pts
echo"CHROOT..."
sudochroot${2}
echo"Success!"
}
functionumnt(){
echo"UNMOUNTING"
sudoumount${2}proc
sudoumount${2}sys
sudoumount${2}dev/pts
sudoumount${2}dev
}
if["$1"=="-m"]&&[-n"$2"];
then
mnt$1$2
elif["$1"=="-u"]&&[-n"$2"];
then
umnt$1$2
else
echo""
echo"Either1'st,2'ndorbothparametersweremissing"
echo""
echo"1'stparametercanbeoneofthese:-m(mount)OR-u(umount)"
echo"2'ndparameteristhefullpathofrootfsdirectory(withtrailing'/')"
echo""
echo"Forexample:ch-mount-m/media/sdcard/"
echo""
echo1stparameter:${1}
echo2ndparameter:${2}
fi

把下載好的腳本置于ubuntu-rootfs目錄的上一級(jí)目錄,并修改權(quán)限:

chmoda+xch-mount.sh
./ch-mount.sh-mubuntu-rootfs/

執(zhí)行mount動(dòng)作,注意退出后一定再執(zhí)行 ./ch-mount.sh -u ubuntu-rootfs/,否則你的本機(jī)ubuntu系統(tǒng)會(huì)出問(wèn)題,需要重啟才能恢復(fù)正常。

拷貝bash依賴庫(kù)

執(zhí)行掛載腳本時(shí)遇到以下錯(cuò)誤,可以拷貝bash動(dòng)態(tài)庫(kù)。

?toolssudochrootubuntu-rootfs
chroot:failedtoruncommand‘/bin/zsh’:Nosuchfileordirectory

查看/bin/bash文件所依賴的動(dòng)態(tài)鏈接庫(kù),然后依次拷貝到相應(yīng)目錄。由于我安裝了zsh,所以除了拷貝bash動(dòng)態(tài)庫(kù)外,還需要拷貝zsh動(dòng)態(tài)庫(kù)。沒(méi)有安裝zsh的可以不用拷貝zsh動(dòng)態(tài)庫(kù)。

zhongyi@ubuntu:~$ldd/bin/zsh
linux-vdso.so.1(0x00007ffd5c1dc000)
libcap.so.2=>/lib/x86_64-linux-gnu/libcap.so.2(0x00007f4b4d9d7000)
libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007f4b4d7d3000)
libtinfo.so.5=>/lib/x86_64-linux-gnu/libtinfo.so.5(0x00007f4b4d5a9000)
libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007f4b4d20b000)
libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007f4b4ce1a000)
/lib64/ld-linux-x86-64.so.2(0x00007f4b4debc000)
zhongyi@ubuntu:~$ldd/bin/bash
linux-vdso.so.1(0x00007ffd8335a000)
libtinfo.so.5=>/lib/x86_64-linux-gnu/libtinfo.so.5(0x00007f50a4d2a000)
libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007f50a4b26000)
libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007f50a4735000)
/lib64/ld-linux-x86-64.so.2(0x00007f50a526e000)
$mkdirlib64
$cp/lib64/ld-linux-x86-64.so.2./lib64/
$mkdir./lib/x86_64-linux-gnu
$cp/lib/x86_64-linux-gnu/libtinfo.so.5./lib/x86_64-linux-gnu/
$cp/lib/x86_64-linux-gnu/libdl.so.2./lib/x86_64-linux-gnu/
$cp/lib/x86_64-linux-gnu/libc.so.6./lib/x86_64-linux-gnu/
$cp/lib/x86_64-linux-gnu/libcap.so.2./lib/x86_64-linux-gnu/
$cp/lib/x86_64-linux-gnu/libm.so.6./lib/x86_64-linux-gnu/
$cp/lib/x86_64-linux-gnu/libc.so.6./lib/x86_64-linux-gnu/
$cp/bin/bashubuntu-rootfs/bin
$cp/bin/zshubuntu-rootfs/bin

執(zhí)行掛載

成功掛載后,會(huì)看到自動(dòng)切換為root用戶。

zhongyi@ubuntu:~/tools$./ch-mount.sh-mubuntu-rootfs/
MOUNTING...
CHROOT...
zsh:failedtoloadmodule`zsh/zle':/usr/lib/x86_64-linux-gnu/zsh/5.4.2/zsh/zle.so:cannotopensharedobjectfile:Nosuchfileordirectory
#已經(jīng)成功掛載
ubuntu#

安裝必要的軟件

apt-getupdate
apt-get-yinstallvimnfs-commonsudosshnet-toolsethtoolwireless-toolsxfce4-power-managerxinitnetwork-manageriputils-pingrsyslogbash-completionlxtaskhtopsynaptic--no-install-recommends

更換源

vim/etc/apt/source.list
#添加中科大源
debhttp://mirrors.ustc.edu.cn/ubuntu-ports/xenialmainmultiverserestricteduniverse
debhttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-backportsmainmultiverserestricteduniverse
debhttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-proposedmainmultiverserestricteduniverse
debhttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-securitymainmultiverserestricteduniverse
debhttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-updatesmainmultiverserestricteduniverse
deb-srchttp://mirrors.ustc.edu.cn/ubuntu-ports/xenialmainmultiverserestricteduniverse
deb-srchttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-backportsmainmultiverserestricteduniverse
deb-srchttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-proposedmainmultiverserestricteduniverse
deb-srchttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-securitymainmultiverserestricteduniverse
deb-srchttp://mirrors.ustc.edu.cn/ubuntu-ports/xenial-updatesmainmultiverserestricteduniverse

#添加阿里源
debhttp://mirrors.aliyun.com/ubuntu/focalmainrestricteduniversemultiverse
deb-srchttp://mirrors.aliyun.com/ubuntu/focalmainrestricteduniversemultiverse
debhttp://mirrors.aliyun.com/ubuntu/focal-securitymainrestricteduniversemultiverse
deb-srchttp://mirrors.aliyun.com/ubuntu/focal-securitymainrestricteduniversemultiverse
debhttp://mirrors.aliyun.com/ubuntu/focal-updatesmainrestricteduniversemultiverse
deb-srchttp://mirrors.aliyun.com/ubuntu/focal-updatesmainrestricteduniversemultiverse
debhttp://mirrors.aliyun.com/ubuntu/focal-proposedmainrestricteduniversemultiverse
deb-srchttp://mirrors.aliyun.com/ubuntu/focal-proposedmainrestricteduniversemultiverse
debhttp://mirrors.aliyun.com/ubuntu/focal-backportsmainrestricteduniversemultiverse
deb-srchttp://mirrors.aliyun.com/ubuntu/focal-backportsmainrestricteduniversemultiverse

#添加清華源
debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focalmainrestricteduniversemultiverse
#deb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focalmainrestricteduniversemultiverse
debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focal-updatesmainrestricteduniversemultiverse
#deb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focal-updatesmainrestricteduniversemultiverse
debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focal-backportsmainrestricteduniversemultiverse
#deb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focal-backportsmainrestricteduniversemultiverse
debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focal-securitymainrestricteduniversemultiverse
#deb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/focal-securitymainrestricteduniversemultiverse

設(shè)置賬戶名和密碼

useradd-s'/bin/bash'-m-Gadm,sudofirefly
passwdfirefly
passwdroot

設(shè)置主機(jī)名

echo'ubuntu.firefly'>/etc/hostname

添加主機(jī)入口到/etc/hosts

127.0.0.1localhost
127.0.0.1ubuntu.firefly
127.0.1.1firefly

添加nameserver

vim/etc/resolvconf/resolv.conf.d/head
#添加nameserver
nameserver114.114.114.114
nameserver8.8.8.8

取消掛載

exit
./ch-mount.sh-uubuntu-rootfs/

創(chuàng)建 mkrootfs.sh文件,寫(xiě)入以下腳本,其中2048取決于你的根文件系統(tǒng)實(shí)際大小,比如安裝了桌面環(huán)境后若大小超過(guò)2048M,就改大一點(diǎn)

#!/bin/bash
#
ddif=/dev/zeroof=ubuntu-rootfs.imgbs=1Mcount=2048
sudomkfs.ext4ubuntu-rootfs.img
rm-rrootfs
mkdirrootfs
sudomountubuntu-rootfs.imgrootfs/
sudocp-rfpubuntu-rootfs/*rootfs/
sudoumountrootfs/
e2fsck-p-fubuntu-rootfs.img
resize2fs-Mubuntu-rootfs.img

執(zhí)行制作

?tools./mkrootfs.sh
?toolsls-al|grep*.img
-rw-rw-r--1zhongyizhongyi1497706496Sep3021:32ubuntu-rootfs.img

燒寫(xiě)鏡像

sudoupgrade_tooldi-rootfsubuntu-rootfs.img

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    284

    瀏覽量

    19904
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    563

    瀏覽量

    29702
  • Firefly
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    7027

原文標(biāo)題:【RK3399】制作ubuntu20.04 roomfs

文章出處:【微信號(hào):嵌入式與Linux那些事,微信公眾號(hào):嵌入式與Linux那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎樣利用Ubuntu20.04去安裝Mentor Calibre 2020?

    怎樣利用Ubuntu20.04去安裝Mentor Calibre 2020?有沒(méi)有人遇到過(guò)這個(gè)問(wèn)題啊
    發(fā)表于 06-23 07:19

    請(qǐng)問(wèn)ubuntu20.04文件系統(tǒng)的右鍵是哪個(gè)軟件實(shí)現(xiàn)的呢

    我自己制作了一個(gè)ubuntu20.04文件系統(tǒng),插上usb觸摸屏后點(diǎn)擊好用,但是長(zhǎng)按右鍵不好用,我試了firefly提供的18.04的文件系統(tǒng)右鍵是好用的,請(qǐng)問(wèn)是哪個(gè)軟件實(shí)現(xiàn)的呢?
    發(fā)表于 06-27 09:24

    【ROC-RK3568-PC開(kāi)發(fā)板試用體驗(yàn)】Ubuntu20.04桌面系統(tǒng)體驗(yàn)升級(jí)與GCC安裝

    本視頻進(jìn)行Ubuntu20.04桌面系統(tǒng)體驗(yàn)并升級(jí)系統(tǒng)安裝GCC視頻
    發(fā)表于 09-04 23:26

    RK3128制作ubuntu文件系統(tǒng)相關(guān)案例分享

    1、rk3128制作ubuntu文件系統(tǒng)  制作文件系統(tǒng)很簡(jiǎn)單,重要的是縷清思路?! ?b class='flag-5'>制作過(guò)程有很多我就不贅述了程?! ∠旅?/div>
    發(fā)表于 11-18 16:45

    RK3588S-PC的ubuntu20.04系統(tǒng)上運(yùn)行ros報(bào)錯(cuò)

    用官方的ubuntu20.04安裝ros 運(yùn)行示例時(shí)出現(xiàn)如下問(wèn)題,請(qǐng)問(wèn)我該怎么解決
    發(fā)表于 12-30 14:35

    RK3399升級(jí)為ubuntu20.04后無(wú)法連接wifi怎么解決?

    問(wèn)題描述及復(fù)現(xiàn)步驟:RK3399升級(jí)為ubuntu20.04后無(wú)法連接wifi,請(qǐng)問(wèn)是什么原因呢,怎么解決還有,log日志我也不知道傳啥,瞎弄的一個(gè)文件
    發(fā)表于 01-10 15:05

    Ubuntu20.04系統(tǒng)中,如何將Vivado編輯器配置成Vim?

    我現(xiàn)在使用的系統(tǒng)ubuntu20.04,安裝了2022.1版本的vivado,我想將vivado的編輯器設(shè)置成vim,但是我一直無(wú)法成功。我嘗試將“/usr/bin/vim"添加到
    發(fā)表于 01-31 10:29

    【飛騰派4G版免費(fèi)試用】如何定制飛騰平臺(tái)的ubuntu rootfs 根文件系統(tǒng)(1)

    binfmt-support debootstrap 5 Ubuntu20.04文件系統(tǒng)制作 使用debootstrap 工具生成arm64 基礎(chǔ)rootfs包
    發(fā)表于 12-10 19:13

    FireflyRK3128主板Ubuntu文件系統(tǒng)創(chuàng)建

    創(chuàng)建 Ubuntu文件系統(tǒng) 使用 miniroot 來(lái)創(chuàng)建并引導(dǎo)系統(tǒng)
    的頭像 發(fā)表于 11-29 09:00 ?3340次閱讀
    FireflyRK3128主板<b class='flag-5'>Ubuntu</b> 根<b class='flag-5'>文件系統(tǒng)</b>創(chuàng)建

    Ubuntu20.04系統(tǒng)中使用用STM32F2107RCT6點(diǎn)亮一個(gè)二極管燈

    Ubuntu20.04系統(tǒng)中使用用STM32F2107RCT6點(diǎn)亮一個(gè)二極管燈
    發(fā)表于 12-05 14:51 ?8次下載
    <b class='flag-5'>Ubuntu20.04</b><b class='flag-5'>系統(tǒng)</b>中使用用STM32F2107RCT6點(diǎn)亮一個(gè)二極管燈

    【ROC-RK3568-PC開(kāi)發(fā)板試用體驗(yàn)】Ubuntu20.04桌面系統(tǒng)體驗(yàn)升級(jí)與GCC安裝

    本文來(lái)源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址: https://bbs.elecfans.com/jishu_2303743_1_1.html 本視頻進(jìn)行Ubuntu20.04桌面系統(tǒng)體驗(yàn) 并升級(jí)系統(tǒng) 安裝GCC 體驗(yàn)視頻詳
    的頭像 發(fā)表于 10-18 16:02 ?1544次閱讀

    【ROC-RK3568-PC開(kāi)發(fā)板試用體驗(yàn)】燒錄Ubuntu20.04系統(tǒng)

    ://www.t-firefly.com/doc/download/107.html下 固件-Ubuntu 網(wǎng)盤(pán)下下載 Ubuntu/Ubuntu20.04/ROC-RK3568-PC-UBU
    的頭像 發(fā)表于 10-19 10:08 ?5776次閱讀
    【ROC-RK3568-PC開(kāi)發(fā)板試用體驗(yàn)】燒錄<b class='flag-5'>Ubuntu20.04</b><b class='flag-5'>系統(tǒng)</b>

    ubuntu20.04安裝教程

    Ubuntu 20.04 的安裝步驟如下: 制作啟動(dòng)U盤(pán)。首先下載Ubuntu 20.04的鏡像文件
    的頭像 發(fā)表于 11-13 16:59 ?2196次閱讀

    Ubuntu 20.04如何更改用戶名

    產(chǎn)品簡(jiǎn)介本文適用于所有RK3568/RK3588平臺(tái)產(chǎn)品在Ubuntu20.04系統(tǒng)上如何更改用戶名,本文以IDO-EVB3588開(kāi)發(fā)板為例,在ubuntu20.04系統(tǒng)上修改用戶名i
    的頭像 發(fā)表于 01-26 08:34 ?845次閱讀
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b>如何更改用戶名

    【北京迅為】iTOP-LS2K0500開(kāi)發(fā)板快速使用編譯環(huán)境ubuntu20.04第一章加載迅為提供 Ubuntu20.04

    【北京迅為】iTOP-LS2K0500開(kāi)發(fā)板快速使用編譯環(huán)境ubuntu20.04第一章加載迅為提供 Ubuntu20.04
    的頭像 發(fā)表于 09-18 16:43 ?455次閱讀
    【北京迅為】iTOP-LS2K0500開(kāi)發(fā)板快速使用編譯環(huán)境<b class='flag-5'>ubuntu20.04</b>第一章加載迅為提供 <b class='flag-5'>Ubuntu20.04</b>
    RM新时代网站-首页