天天看點

建立 Ubuntu 根檔案系統,ubuntu原始根檔案系統制作

建立 Ubuntu 根檔案系統

文章目錄

    • 準備工作
    • 添加使用者及設定密碼
    • 制作根檔案系統

準備工作

  1. 安裝 qemu

    在 Linux PC 主機上安裝模拟器:

sudo apt-get install qemu-user-static

  1. 下載下傳和解壓 ubuntu-core

    AIO-3399C Ubuntu 根檔案系統是基于 Ubuntu base 16.04 來建立的。使用者可以到 ubuntu cdimg 下載下傳,選擇下載下傳 ubuntu-base-16.04.1-base-arm64.tar.gz。

  2. 下載下傳完之後,建立臨時檔案夾并解壓根檔案系統:
mkdir temp
sudo tar -xpf ubuntu-base-16.04.1-base-arm64.tar.gz -C temp
           
  1. 修改根檔案系統
  • 準備工作

準備網絡:

sudo cp -b /etc/resolv.conf temp/etc/resolv.conf
           

準備 qemu:

sudo cp /usr/bin/qemu-aarch64-static temp/usr/bin/
           
  • 進入根檔案系統進行操作:
sudo chroot temp
           
  • 更新及安裝

    更新:

apt update
apt upgrade
           

安裝自己需要的功能

apt install vim git …(根據自己需求添加)

安裝 xubuntu:

apt-get install xubuntu-desktop
           
  • 可能出現錯誤:

E: Unable to locate package xxxx

安裝包的源沒有添加到 /etc/apt/source.list 中,導緻無法識别安裝包,可以自行添加源,也可以使用下面給出的 source.list 覆寫原來的 /etc/apt/source.list 檔案:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted

## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted

deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security universe
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security multiverse

           

添加使用者及設定密碼

添加使用者:

useradd -s '/bin/bash' -m -G adm,sudo UsrName
           

給使用者設定密碼:

passwd firefly
```sh

給root使用者設定密碼:

```sh
passwd root
           

修改完自己的根檔案系統就可以退出了。

exit

制作根檔案系統

制作自己的根檔案系統,大小依據自己的根檔案系統而定,注意依據 temp 檔案夾的大小來修改 count 值:

mkdir  rootfs
dd if=/dev/zero of=linuxroot.img bs=1M count=4000
mkfs.ext4 linuxroot.img
sudo mount linuxroot.img rootfs/
sudo cp -rfp temp/*  rootfs/
sudo umount rootfs/
e2fsck -p -f linuxroot.img
resize2fs  -M linuxroot.img
這樣 linuxroot.img 就是最終的根檔案系統映像檔案了。
           
  • FAQs

    根檔案系統加載後,大小不正常,未占滿整個分區:

    在系統正确加載後執行擴充檔案系統指令:

resize2fs /dev/mtd/by-name/linuxroot