IMX6ULL - Linux根文件系统(rootfs)构建

Author: zzssdd2

E-mail: [email protected]

一、Ubuntu-base20.04.3

Ubuntu官方已经制作好了各架构、各版本的base版根文件系统,只需下载下来做少许改动即可。

  1. 下载Ubuntu Base 20.04.3 LTS (Focal Fossa)

    ubuntu-base-20.04.3-base-armhf.tar.gz	2021-08-19 10:56	22M
    
  2. 解压

    mkdir rootfs
    sudo chmod 777 rootfs
    tar -zxvf ubuntu-base-20.04.3-base-armhf.tar.gz -C rootfs
    #避免后面更新软件报错
    sudo chmod 777 ./rootfs/tmp/
    
  3. 安装工具

    sudo apt-get install qemu-user-static
    sudo cp /usr/bin/qemu-arm-static ./rootfs/usr/bin/
    
  4. 拷贝主机DNS

    sudo cp /etc/resolv.conf ./rootfs/etc/resolv.conf
    
  5. 更换下载源

    cp ./rootfs/etc/apt/source.list ./rootfs/etc/apt/source.list.bak
    vim ./rootfs/etc/apt/source.list
    `Esc` + `:`
    %s/ports.ubuntu.com/mirror.tuna.tsinghua.edu.cn/g
    `Enter`
    
  6. 创建挂载脚本vim mount.sh

    内容如下:

    #!/bin/bash
    mnt() {
         
    	echo "MOUNTING"
    	sudo mount -t proc /proc ${2}proc
    	sudo mount -t sysfs /sys ${2}sys
    	sudo mount -o bind /dev ${2}dev
    	sudo mount -o bind /dev/pts ${2}dev/pts
    	sudo chroot ${2}
    }
    umnt() {
         
    	echo "UNMOUNTING"
    	sudo umount ${2}proc
    	sudo umount ${2}sys
    	sudo umount ${2}dev/pts
    	sudo umount ${2}dev
    }
    
    if [ "$1" == "-m" ] && [ -n "$2" ] ;
    then
    	mnt $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 para

你可能感兴趣的:(嵌入式Linux,linux,arm)