1. S源码分析-扫盲源码调试环境搭建(Arm_64)
1. 1 所需软件
| 软件 | 链接位置 |
|---|---|
| ubuntu-20.04.3-desktop-amd64.iso | 链接:https://pan.baidu.com/s/13KxqAkmOTDp6apglr_f_4w 提取码:star |
| linux-5.8.6.tar.xz | https://download.csdn.net/download/tan1666/82501446 |
| busybox-1.32.0.tar_.bz2 | https://download.csdn.net/download/tan1666/82506515 |
| _install_arm64 | https://download.csdn.net/download/tan1666/82559889 |
1. 2 Arm_64 环境
1.2.1 制作ubuntu U盘启动
在20.04虚拟机应用程序中搜start 如下图, 利用该软件制作u盘启动

1. 2.2 编译Arm_64
- 解压 linux-5.8.6.tar.xz,并将文件系统_install_arm64 拷贝到linux-5.8.6中。执行如下脚本命令。
tar -xvf linux-5.8.6.tar.xz
sudo apt-get install gcc-aarch64-linux-gnu
sudo apt install qemu-system-arm
# 添加 vim arch/arm64/configs/defconfig
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_INITRAMFS_SOURCE="_install_arm64"
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libncurses5-dev
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make defconfig
make all -j8
mkdir kmodules
qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt \
-m 1024 -smp 4 -kernel arch/arm64/boot/Image --append "rdinit=/linuxrc root=/dev/vda rw console=ttyAMA0 loglevel=8" -nographic \
--fsdev local,id=kmod_dev,path=$PWD/kmodules,security_model=none \
-device virtio-9p-device,fsdev=kmod_dev,mount_tag=kmod_mount
-
执行结果

-
后期运行命令
编译:
cd /home/tan/x86/linux-5.8.6;make -j8 bzImage
调试:
cd /home/tan/x86/linux-5.8.6;killall qemu-system-x86_64;qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -drive file=rootfs.f2fs,if=ide,format=raw -nographic -append "root=/dev/sda console=ttyS0" -S -s& killall gdb;gdb --tui vmlinux
2. 总结
将文件系统拷贝到linux内核目录下,按照上面的命令执行即可。
内核学习推荐: https://ke.qq.com/course/4032547?flowToken=1042213
2.1 技术参考
参考链接1:https://blog.csdn.net/melody157398/article/details/119396436
本文档详细介绍了如何在Ubuntu上搭建Arm64环境,包括制作Ubuntu U盘启动、编译Linux内核5.8.6以及使用QEMU进行模拟运行。通过添加配置项并执行脚本命令,完成内核编译与调试环境的建立,为Linux内核学习提供基础支持。
&spm=1001.2101.3001.5002&articleId=123156383&d=1&t=3&u=028270b1109c4b85b0e21cc83617ed47)
2796

被折叠的 条评论
为什么被折叠?



