日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Ubuntu 20.04使用qemu搭建ARM64 Linux系统

發布時間:2024/3/26 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu 20.04使用qemu搭建ARM64 Linux系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、安裝所需依賴

$ sudo apt-get install debian-archive-keyring gcc-aarch64-linux-gnu bison flex bc build-essential libncurses* libssl-dev $ sudo apt-get install qemu qemu-user-static binfmt-support debootstrap

2、使用debootstrap命令創建文件系統

使用debootstrap制作根文件系統會分成兩個階段。第一階段是,使用debootstrap命令來下載軟件包。

debootstrap命令基本格式:

$ sudo debootstrap --arch [平臺] [發行版本代號] [構建目錄] [鏡像地址]

當前debootstrap支持的發行版本可以在/usr/share/debootstrap/scripts查看。

在自己創建的工作目錄下執行以下命令:

$ sudo su $ debootstrap --arch=arm64 --foreign buster linux_rootfs http://mirrors.ustc.edu.cn/debian/
  • –arch:指定要制作文件系統的處理器體系結構,比如arm64
  • buster::指定Debian的版本。buster是Debian 10系統。
  • linux_rootfs:本地目錄,最后制作好的文件系統會在此目錄。本實驗使用“linux_rootfs”目錄作為根文件系統目錄。
  • –foreign:只執行引導的初始解包階段,僅僅下載和解壓
  • http://mirrors.ustc.edu.cn/debian/: 國內debian鏡像源地址

第二階段,需要安裝軟件包。

因為主機跑在x86架構上,而我們要制作的文件系統是跑在ARM64上,因此可以使用qemu-aarche64-static來模擬成arm64環境的執行環境。

$ cp /usr/bin/qemu-aarch64-static ./linux_rootfs/usr/bin/

下面使用debootstrap命令進行軟件包的安裝和配置

$ chroot linux_rootfs/ debootstrap/debootstrap --second-stage

–second-stage表示執行第二階段的安裝

顯示“I:Base system installed successfully.”說明第二階段完成。

使用chroot命令切換到剛才制作的根文件系統

$ chroot linux_rootfs/

配置root用戶密碼

# 先設置root用戶的密碼 $ passwd root

添加用戶及設置密碼

$ USER= xx #設置你想要的用戶名 $ useradd -G sudo -m -s /bin/bash $USER $ passwd $USER

設置主機名

$ HOST= xxxxx #設置你想要的主機名 $ echo $HOST > /etc/hostname

設置網絡

$ echo "auto lo" > /etc/network/interfaces $ echo "iface lo inet loopback" >> /etc/network/interfaces $ echo "allow-hotplug enp0s1" > /etc/network/interfaces $ echo "iface enp0s1 inet dhcp" >> /etc/network/interfaces

按照需求安裝一些依賴

$ apt update $ apt install net-tools

以上全部完成后,我們的根文件系統就制作好了,輸入exit退出。

$ exit

3、制作ext4文件系統

首先使用dd命令來創建一個image文件,bs=1M表示block大小,count=2048,表示該image大小為2GB,讀者可以根據主機磁盤空間,適當調整該大小,建議不小于2GB。

$ dd if=/dev/zero of=linux_rootfs.ext4 bs=1M count=2048


使用mkfs.ext4命令來格式化

$ mkfs.ext4 linux_rootfs.ext4


掛載ext4文件系統并拷貝內容

$ mkdir -p tmpfs $ mount -t ext4 linux_rootfs.ext4 tmpfs/ -o loop $ cp -af linux_rootfs/* tmpfs/ $ umount tmpfs $ chmod 777 linux_rootfs.ext4

4、編譯Linux內核

在官網(https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/)下載Linux內核文件,我下載的版本是5.10.87,解壓后執行以下命令:

$ cd linux-5.10.87/ $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- $ make defconfig $ make -j4

編譯成功會在linux-5.10.87目錄下生成vmlinux,在arch/arm64/boot/目錄下生成Image文件。

5、使用qemu運行我們剛剛制作的Debian系統

以上步驟執行完畢,工作目錄下的文件如圖所示:

在工作目錄下執行:

$ qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic -smp 4 -kernel linux-5.10.87/arch/arm64/boot/Image -append "noinintrd sched_debug root=/dev/vda rootfstype=ext4 rw crashkernel=256M loglevel=8" -drive if=none,file=linux_rootfs.ext4,id=hd0 -device virtio-blk-device,drive=hd0

其中,“-drive if=none,file=myrootfs_arm64.ext4,id=hd0 -device virtio-blk-device,drive=hd0”添加根文件系統支持。

成功進入系統,我們使用root登錄

檢查網絡鏈接,正常:

使用apt可以正常安裝一些軟件:

參考鏈接:
1、debootstrap 制作arm64位根文件系統
2、debootstrap 制作根文件系統
3、ubuntu根文件系統構造
4、實驗指導手冊-奔跑吧Linux內核入門篇第二版

總結

以上是生活随笔為你收集整理的Ubuntu 20.04使用qemu搭建ARM64 Linux系统的全部內容,希望文章能夠幫你解決所遇到的問題。

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