精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FireflyRK3128主板Ubuntu 根文件系統創建

firefly ? 來源:firefly ? 作者:firefly ? 2019-11-29 09:00 ? 次閱讀
創建 Ubuntu 根文件系統
使用 miniroot 來創建并引導系統

miniroot 是個非常小巧的 shell 環境,用來安裝和引導其它根文件系統,例如 Ubuntu, Gentoo, Arch Linux 等,這些系統可以在內核支持的存儲設備的根或子目錄上。這意味著我們能夠從開發板的 eMMC Flash, 外置 TF 卡或 U 盤上安裝多個系統,而且方便地切換系統,而不用修改并燒寫 parameter 文件。miniroot 需要使用串口線來調試,參見《串口調試》一文。另外在下載系統映像時需要使用以太網,當然,也可以預先下載到移動存儲設備上。

準備

請先備份好開發板及相關存儲設備上的數據,以免操作失誤或其它不可預見的因素帶來的數據丟失。首先確保開發板已經燒寫了可以正常工作的固件,然后下載以下映像文件:

  • misc.imghttps://pan.baidu.com/s/17Iw9QEMkUavOENZR9Xkqjw
  • linux-boot-miniroot.imghttps://pan.baidu.com/s/1poSyJxMjFEGSYZsbna8Rag

如果開發板安裝的是 Android 或雙系統固件,則將 linux-boot-miniroot.img 寫到 recovery 分區,misc.img 寫到 misc 分區。如果開發板安裝的是 Linux固件,則將 linux-boot-miniroot.img 寫到 boot 分區。miniroot 初次啟動后,會進入 shell,在串口終端上可以見到提示符:

miniroot#

然后開始配置網絡,如果是 DHCP 網絡:

miniroot# udhcpc

否則就要手工配置網絡參數(將192.168.1.* 替換成實際使用的網絡地址):

miniroot# ip addr add 192.168.1.2/24 broadcast + dev eth0 miniroot# ip link set dev eth0 up miniroot# ip route add default via 192.168.1.1 miniroot# echo nameserver 192.168.1.1 > /etc/resolv.conf

miniroot 支持從目錄里啟動,這就意味著根文件系統的放置位置很靈活,而且可以方便地支持多種 Linux 發行版啟動。注意,由于調試串口與 TF 卡接口有信號引腳共用,因此不能同時使用。 下面用 U 盤第一分區作為系統存儲,創建 ext4 文件系統并掛載到 /mnt,ubuntu 將解壓到 /mnt/ubuntu 下:

miniroot# mkfs.ext4 -E nodiscard /dev/sda1 miniroot# mount /dev/sda1 /mnt

一般需要保證此分區有 4G 以上的剩余空間。

下載和解壓 ubuntu-core

ubuntu-core 是最小的根文件系統,在安裝之后根據需要再設置桌面或服務器環境。下載并解壓到 /mnt :

miniroot# cd /mnt miniroot# wget -P /mnt http://cdimage.ubuntu.com/ubuntu-core/releases/15.04/release/ubuntu-core-15.04-core-armhf.tar.gz miniroot# mkdir /mnt/ubuntu miniroot# tar -xpzf /mnt/ubuntu-core-15.04-core-armhf.tar.gz -C /mnt/ubuntu
啟動 Ubuntu
  • 設置主機名稱
miniroot# echo ubuntu > /mnt/ubuntu/etc/hostname miniroot# sed -e 's/miniroot/ubuntu/' < /etc/hosts > /mnt/ubuntu/etc/hosts

新增用戶帳戶(帳戶和密碼均是 “ubuntu”):

miniroot# chroot /mnt/ubuntu useradd -G sudo -m -s /bin/bash ubuntu miniroot# echo ubuntu:ubuntu | chroot /mnt/ubuntu chpasswd
  • 安裝必須的包
miniroot# mount -t proc none /mnt/ubuntu/proc miniroot# mount -t devtmpfs none /mnt/ubuntu/dev miniroot# cp /etc/resolv.conf /mnt/ubuntu/etc/ miniroot# chroot /mnt/ubuntu /bin/bash root@miniroot:/# apt-get update root@miniroot:/# apt-get install --no-install-recommends sudo iproute net-tools isc-dhcp-client root@miniroot:/# exit miniroot# rm /mnt/ubuntu/etc/resolv.conf miniroot# umount /mnt/ubuntu/proc miniroot# umount /mnt/ubuntu/dev
  • 啟動 Ubuntu
miniroot# boot /mnt:/ubuntu /lib/systemd/systemd

提示:如果根設備沒有掛載,可以將冒號前的掛載目錄替換成根設備文件,miniroot 會自動掛載:

miniroot# boot /dev/sda1:/ubuntu /lib/systemd/systemd
初始配置
  • 串口登錄 Ubuntu
Ubuntu 15.04 ubuntu ttyFIQ0 ubuntu login: ubuntu Password: ubuntu Last login: Tue May 26 08:11:03 UTC 2015 on ttyFIQ0 Welcome to Ubuntu 15.04 (GNU/Linux 3.10.0 armv7l) * Documentation: https://help.ubuntu.com/ ubuntu@ubuntu:~$ sudo -s [sudo] password for ubuntu: ubuntu root@ubuntu:~#
  • 設置網絡(DHCP)
root@ubuntu:~# echo auto eth0 > /etc/network/interfaces.d/eth0 root@ubuntu:~# echo iface eth0 inet dhcp >> /etc/network/interfaces.d/eth0 root@ubuntu:~# ln -fs ../run/resolvconf/resolv.conf /etc/resolv.conf root@ubuntu:~# ifup eth0
  • 更新軟件包
root@ubuntu:~# cp /etc/apt/sources.list /etc/apt/sources.list.orig root@ubuntu:~# sed -i -e 's,^# deb\(.*\)$,deb\1,g' /etc/apt/sources.list root@ubuntu:~# apt-get update root@ubuntu:~# apt-get dist-upgrade
  • 重啟
root@ubuntu:~# reboot
  • 進入 miniroot,編輯環境變量,加入 ubuntu 的啟動參數
miniroot# editenv boot=/dev/sda1:/ubuntu init=/lib/systemd/systemd autoboot=1
  • 保存環境變量并重啟
miniroot# saveenv miniroot# reboot -f
安裝軟件包

安裝 Lubuntu (LXDE)桌面環境:

root@ubuntu:~# apt-get install lubuntu-desktop
固化系統

將 U 盤卡拔出,插入到主機系統,掛載到 /mnt 目錄上。查看根文件系統所需空間的大小:

sudo du -hs /mnt/ubuntu

視情況對 /mnt/ubuntu 目錄進行清理,特別是一些日志目錄、臨時目錄等。生成空白磁盤映像文件,以生成 1G 大小的根文件系統磁盤映像文件為例:

cd /new/firmware/work/dir/ dd if=/dev/zero of=linuxroot.img bs=1M count=1024 # 格式化成 ext4 文件系統格式,卷標為 linuxroot mkfs.ext4 -F -L linuxroot -m 0 linuxroot.img

掛載,拷貝數據,然后卸載:

mount -o loop linuxroot.img /opt cp -a /mnt/ubuntu/* /opt/ umount /opt

這樣 linuxroot.img 就是最終的根文件系統映像文件了。

常見問題
如何恢復正常啟動

往 misc 分區燒寫 misc.img 后,開發板就會從 recovery 分區啟動系統,要恢復回 boot 分區啟動,有兩種方法:

  • 下載 misc_zero.imghttps://pan.baidu.com/s/1L6stnnwFQhGX_eW4Ze8lSg , 然后燒寫到 misc 分區
  • 在開發板的 Linux shell 下運行:
sudo dd if=/dev/zero of=/dev/block/mtd/by-name/misc bs=16K count=count=3 sudo sync sudo reboot

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6081

    瀏覽量

    34942
  • 安卓
    +關注

    關注

    5

    文章

    2107

    瀏覽量

    56707
  • Firefly
    +關注

    關注

    2

    文章

    538

    瀏覽量

    6930
收藏 人收藏

    評論

    相關推薦

    Linux文件系統的組成及構建方案

    Linux“三巨頭”已經完成了 2 個了,就剩最后一個 rootfs(文件系統)了,本章就來學習一下文件系統的組成以及如何構建
    發表于 10-13 14:21 ?965次閱讀

    文件系統的含義和相關重要概念以及加載代碼分析

    簡單的來說,文件系統包括虛擬文件系統和真實根文件系統。在Kernel啟動的初始階段,首先去創建
    的頭像 發表于 01-23 08:54 ?7690次閱讀

    瑞芯微VS-RK3399《創建 Ubuntu 文件系統》分享

    瑞芯微VS-RK3399《創建 Ubuntu 文件系統》分享更新時間:2018-3-30準備工作安裝qemu在Linux PC主機上安裝模擬器:sudo apt-get instal
    發表于 03-30 10:03

    如何導出Ubuntu文件系統

    如何安裝fireflydev?如何導出Ubuntu文件系統
    發表于 03-02 07:37

    如何創建UBUNTU文件系統RK3288?

    如何創建UBUNTU文件系統RK3288?
    發表于 03-03 06:33

    如何使用Ubuntu 16.04編譯文件系統

    如何使用Ubuntu 16.04編譯文件系統
    發表于 03-09 07:57

    RK3128制作ubuntu文件系統相關案例分享

    1、rk3128制作ubuntu文件系統  制作文件系統很簡單,重要的是縷清思路。  制作過程有很多我就不贅述了程。  下面制作完成了,如果在平臺上啟動我們制作的
    發表于 11-18 16:45

    Linux文件系統簡介

    Linux文件系統簡介 什么是文件   文件系統首先是一種
    發表于 04-21 17:01 ?5083次閱讀

    Firefly-RK3399文件系統介紹

    創建 Ubuntu 文件系統 準備工作 安裝qemu
    的頭像 發表于 11-23 10:55 ?1984次閱讀
    Firefly-RK3399<b class='flag-5'>根</b><b class='flag-5'>文件系統</b>介紹

    FireflyRK3128主板外殼介紹

    外殼 Firefly-RK3128 CAD圖 核心板 底板 Firefly-RK3128 外殼亞克力CAD圖
    的頭像 發表于 11-29 09:19 ?1118次閱讀
    <b class='flag-5'>FireflyRK3128</b><b class='flag-5'>主板</b>外殼介紹

    fireflyAIO-3399C主板創建Ubuntu文件系統

    創建 Ubuntu 文件系統 準備工作 安裝qemu
    的頭像 發表于 12-13 10:42 ?1108次閱讀

    fireflyROC-RK3328-PC編譯Ubuntu 文件系統簡介

    編譯 Ubuntu 文件系統
    的頭像 發表于 12-21 09:45 ?1359次閱讀

    嵌入式Linux移植3. NFS文件系統掛載(從Ubuntu啟動內核,文件系統

    :通過tftp使用Ubuntu中的/tftpboot中的uImage啟動rootfs文件系統:通過NFS使用Ubuntu中的/nfs_rootfs中的
    發表于 11-02 12:51 ?7次下載
    嵌入式Linux移植3. NFS<b class='flag-5'>根</b><b class='flag-5'>文件系統</b>掛載(從<b class='flag-5'>Ubuntu</b>啟動內核,<b class='flag-5'>文件系統</b>)

    Core 1808 JD4固件Linux文件系統Ubuntu18.04)

    電子發燒友網站提供《Core 1808 JD4固件Linux文件系統Ubuntu18.04).txt》資料免費下載
    發表于 09-20 17:05 ?0次下載
    Core 1808 JD4固件Linux<b class='flag-5'>根</b><b class='flag-5'>文件系統</b>(<b class='flag-5'>Ubuntu</b>18.04)

    rootfs文件系統制作

    本文記錄了文件系統的一些知識點,Busybox 工具的使用和 最小文件系統的制作。
    發表于 10-31 11:56 ?2次下載