準備工作:
cd /home/rlk/rlk/runninglinuxkernel_5.0
#make clean
mkdir _install_arm64/dev
sudo mknod _install_arm64/dev/console c 5 1
./build_ds5_arm64.sh
git checkout boot-wrapper-aarch64/fvp-base-gicv3-psci.dtb
./build_ds5_arm64.sh
創建工程步驟
2.
5.
6.
7.
8.
調試步驟
b el2:0x81776174
單步到El1
add-symbol-file /home/rlk/rlk/runninglinuxkernel_5.0/vmlinux
b __primary_switched
b start_kernel
kimi:
在Ubuntu上使用DS-5調試ARM64 Linux內核的步驟如下:
-
安裝DS-5:
- 從ARM官網下載DS-5并進行安裝。確保選擇適合Linux的版本,并按照安裝向導完成安裝過程。
-
下載和構建Linux內核:
- 使用以下命令下載Linux內核源碼:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git cd linux
- 進行默認配置和編譯:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)
- 編譯完成后,生成內核鏡像和設備樹文件,這些文件通常位于
arch/arm64/boot/
目錄下。
- 使用以下命令下載Linux內核源碼:
-
構建引導程序:
- 下載并構建boot-wrapper-aarch64,這是一個用于引導Linux內核的簡易引導程序:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git cd boot-wrapper-aarch64 autoreconf -i ./configure --enable-psci --enable-gicv3 --with-kernel-dir=/path/to/linux/arch/arm64/boot --with-dtb=your_device_tree.dtb --host=aarch64-linux-gnu --with-cmdline="rdinit=/linuxrc console=ttyAMA0" make
- 下載并構建boot-wrapper-aarch64,這是一個用于引導Linux內核的簡易引導程序:
-
配置DS-5調試環境:
- 啟動Eclipse for DS-5,創建一個新的調試配置。在“Run”菜單中選擇“Debug Configurations…”,選擇“DS-5 Debugger”,然后新建一個配置。
- 在“Connection”選項中選擇合適的目標平臺(例如“Debug Cortex-A53”),并配置連接到DSTREAM仿真器或其他調試設備。
-
添加內核符號:
- 在Debugger選項中,選擇“Run Control”為“Connect Only”,并在“Execute debugger commands”中輸入:
interrupt add-symbol-file "/path/to/linux/vmlinux"
- 這將允許調試器加載內核符號,以便進行調試。
- 在Debugger選項中,選擇“Run Control”為“Connect Only”,并在“Execute debugger commands”中輸入:
-
啟動調試:
- 確保目標板上已經通過U-Boot引導到內核,然后在DS-5中點擊“Debug”按鈕開始調試。你應該能夠看到調試界面,顯示當前連接狀態和調試信息。
-
使用調試功能:
- 你可以使用DS-5的調試功能,如設置斷點、單步執行、查看和修改寄存器等,來調試Linux內核。
以上步驟提供了在Ubuntu上使用DS-5調試ARM64 Linux內核的基本流程。具體的操作可能會根據DS-5的版本和內核的具體配置有所不同,因此建議參考最新的官方文檔和教程進行操作。