日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核移植imx8,iMX8模块Ubuntu移植

發布時間:2023/12/10 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核移植imx8,iMX8模块Ubuntu移植 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

By Toradex胡珊逢

本文將介紹如何將 Ubuntu 系統移植到 Toradex Apalis iMX8 計算機模塊上。該方法也同樣使用與其他使用 eMMC 作為存儲介質的模塊,例如 Colibri、Verdin 模塊。撰寫文章時 Toradex 發布的最新 Linux BSP 是 5.2.0,Ubuntu 為 20.04 LTS 和 20.10。為了獲得更好的支持,建議使用新的Linux BSP。這里涉及的 Ubuntu 分為兩類,Ubuntu 20.04 Base 是不帶任何圖形界面的 console 鏡像。Ubuntu 20.10 desktop 使用了 Ubuntu 自帶的桌面環境,如Gnome。

首先在電腦上安裝 qemu-user-static 軟件仿真 arm64 運行環境。

$ sudo apt install qemu-user-static

Ubuntu 20.04 Base

解壓文件。

$ tar vxf Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7.tar

提取 Linux BSP 中的文件系統到 rootfs 目錄,里面包含一些模塊的驅動和固件,稍后需要用到。

$ mkdir rootfs

$ cd Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7

$ sudo tar vxf Reference-Minimal-Image-apalis-imx8.tar.xz -C ../rootfs

下載 arm64 格式的 Ubuntu base 20.04.2 文件系統。

解壓 Ubuntu 文件系統到ubuntu 文件夾中。

$ mkdir ubuntu

$ sudo tar vxf ubuntu-base-20.04.2-base-arm64.tar.gz -C ubuntu/

執行下面腳本 ch-mount.sh,切換到 Ubuntu 目錄中運行并安裝軟件。

$ chmod +x ./ch-mount.sh

$ sudo ./ch-mount.sh -m ubuntu/

設置 DNS 服務器,在線安裝一些基本組件。這里頁可以自行添加所需的其他軟件。

# echo nameserver 8.8.8.8 > /etc/resolv.conf

# apt update

# apt upgrade

# apt install language-pack-en-base sudo ssh net-tools \

network-manager netplan.io iputils-ping rsyslog \

bash-completion htop resolvconf dialog \

vim nano alsa-utils gcc \

less resolvconf autoconf autopoint libtool \

bison flex libglib2.0-dev libpango1.0-dev libatk1.0-dev kmod pciutils -y

添加用戶,如用戶名ubuntu,并為ubuntu 和 root 用戶設置密碼。

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

# passwd ubuntu

# passwd root

設置主機名稱。

# echo 'apalis-imx8' > /etc/hostname

將ttymxc0 用于默認的調試串口。

# systemctl enable serial-getty@ttymxc0.service

清除緩存。

# apt autoclean

# exit

卸載 ubuntu 目錄。

$ sudo ./ch-mount.sh -u ubuntu/

這里采用netplan 作為有線網絡管理工具。將相應的 yaml 配置文件復制到 ubuntu/etc/netplan 目錄。這里提供兩個配置文件供參考,分別為動態和靜態IP 設置。

$ sudo cp 00-installer-config.yaml ubuntu/etc/netplan/

將 Linux BSP 中的內核驅動、固件和 fstab 復制到 Ubuntu 文件系統中。

$ sudo mkdir -p ubuntu/lib/modules

$ sudo cp -Ppr rootfs/lib/modules/* ubuntu/lib/modules/

$ sudo cp -Ppr rootfs/lib/firmware/* ubuntu/lib/firmware/

$ sudo rm ubuntu/etc/fstab

$ sudo cp rootfs/etc/fstab ubuntu/etc/

重新打包 Ubuntu 文件系統,用于Toradex Easy Installer 安裝。

$ cd ubuntu/

$ sudo tar cvf ../ubuntu.tar .

$ xz -T0 ubuntu.tar

將生成的 ubuntu.tar.xz 復制到之前解壓的 Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7 目錄中

$ cp ubuntu.tar.xz Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7

修改 image.json 文件。

?

filename 為生成的 ubuntu.tar.xz。

uncompressed_size 為 ubuntu 目錄大小,單位 MB,可以使用下面命令查看。

$ sudo du -sm ubuntu

至此,可以將 Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7 復制到 U 盤進行安裝。

Ubuntu 20.10 desktop

解壓文件。

$ tar vxf Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7.tar

提取 Linux BSP 中的文件系統到 rootfs 目錄,里面包含一些模塊的驅動和固件,稍后需要用到。

$ mkdir rootfs

$ cd Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7

$ sudo tar vxf Reference-Minimal-Image-apalis-imx8.tar.xz -C ../rootfs

這里使用 Ubuntu 首次針對 raspi Arm64 處理器發布的 Ubuntu 20.10 桌面系統。下載鏡像文件并解壓。

$ wget https://cdimage.ubuntu.com/releases/20.10/release/ubuntu-20.10-preinstalled-desktop-arm64+raspi.img.xz

$ xz -d ubuntu-20.10-preinstalled-desktop-arm64+raspi.img.xz

ubuntu-20.10-preinstalled-desktop-arm64+raspi.img 原本是為 raspi 直接燒錄 SD 使用,其中包括了 u-boot、Linux kernel、device tree 等文件,但我們只需要使用其文件系統即可。使用 fdisk 命令查看 img 文件中文件系統位置。

$ fdisk -l ubuntu-20.10-preinstalled-desktop-arm64+raspi.img

Disk ubuntu-20.10-preinstalled-desktop-arm64+raspi.img: 8.15 GiB, 8750736384 bytes, 17091282 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0xb6b5c3c7

Device???????????????????????????????????????????? Boot? Start????? End? Sectors? Size Id Type

ubuntu-20.10-preinstalled-desktop-arm64+raspi.img1 *????? 2048?? 526335?? 524288? 256M? c W95 FAT32 (LBA)

ubuntu-20.10-preinstalled-desktop-arm64+raspi.img2????? 526336 17091247 16564912? 7.9G 83 Linux

img2 是 Ubuntu 文件系統,其起始偏移地址為 526336,注意這里的單位是 sector。換算為字節是 526336 * 512 = 269484032。使用 mount 命令掛載時 offset=269484032

$ mkdir ubuntu

$ sudo mount -o loop,offset=269484032 ubuntu-20.10-preinstalled-desktop-arm64+raspi.img ubuntu/

刪除以下文件。

$ cd ubuntu

$ sudo rm -rf boot

$ sudo rm etc/fstab

$ sudo rm -rf lib/modules/*

$ cd ..

執行下面腳本 ch-mount.sh,切換到 ubuntu 目錄中運行。

$ chmod +x ./ch-mount.sh

$ sudo ./ch-mount.sh -m ubuntu/

將ttymxc0 用于默認的調試串口。

# systemctl enable serial-getty@ttymxc0.service

刪除下面軟件。

# apt remove u-boot-rpi flash-kernel

# exit

卸載 ubuntu 目錄。

$ sudo ./ch-mount.sh -u ubuntu/

將 Linux BSP 中的內核驅動、固件和 fstab 復制到 Ubuntu 文件系統中。

$ sudo cp -Ppr rootfs/lib/modules/* ubuntu/lib/modules/

$ sudo cp -Ppr rootfs/lib/firmware/* ubuntu/lib/firmware/

$ sudo rm ubuntu/etc/fstab

$ sudo cp rootfs/etc/fstab ubuntu/etc/

注釋掉 fstab 中 /dev/boot-part 掛載路徑。

$ vi ubuntu/etc/fstab

# stock fstab - you probably want to override this with a machine specific one

/dev/root??????????? /??????????????????? auto?????? noatime?????????????? 1? 1

#/dev/boot-part?????? /boot??????????????? auto?????? noatime,noauto??????? 0? 0

重新打包 Ubuntu 文件系統,用于Toradex Easy Installer 安裝。

$ cd ubuntu/

$ sudo tar cvf ../ubuntu-desktop.tar .

$ xz -T0 ubuntu-desktop.tar

將生成的 ubuntu-desktop.tar 復制到之前解壓的 Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7 目錄中

$ cp ubuntu-desktop.tar Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7

修改 image.json 文件。

?

filename 為生成的 ubuntu-desktop.tar。

uncompressed_size 為 ubuntu 目錄大小,單位 MB,可以使用下面命令查看。

$ sudo du -sm ubuntu

至此,可以將 Apalis-iMX8_Reference-Minimal-Image-Tezi_5.2.0+build.7 復制到 U 盤進行安裝。在安裝完畢后需要連接 HDMI 顯示器、鍵盤和鼠標。首次啟動時,Ubuntu 系統會進入用戶設置界面,如時區、用戶名和密碼等配置。期間可能會遇到錯誤,但可以關閉錯誤窗口。然后在調試串口中使用剛才設置的用戶名和密碼登錄,運行 sudo reboot? 重新啟動即可。

?

總結

以上是生活随笔為你收集整理的linux内核移植imx8,iMX8模块Ubuntu移植的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。