5.编译linux内核

684 阅读1分钟

1、拷贝内核

idle@linux:~/study$ cp /share_win/linux-4.19.157.tar.xz ./
idle@linux:~/study$ ls
busybox-1.33.0  busybox-1.33.0.tar.bz2  busybox-build  initrd-busybox.img  linux-4.19.157.tar.xz  rootfs

sudo apt install libelf-dev libssl-dev binutils-dev -y
xz -d linux-4.19.157.tar.xz
tar xvf linux-4.19.157.tar
cd linux-4.19.157

2、配置内核

# 生成编译选项文件 .config,和 busybox 流程类似
make menuconfig 

截图.png

sudo apt-get install bison
sudo apt-get install flex

再次make menuconfig

截图.png

需要开启内核参数CONFIG_DEBUG_INFO和CONFIG_GDB_SCRIPTS。

Kernel hacking  ---> 
    [*] Kernel debugging
    Compile-time checks and compiler options  --->
        [*] Compile the kernel with debug info
        [*]   Provide GDB scripts for kernel debuggin

截图.png

截图 (1).png

3、编译内核

# 编译成功后,源码根目录下会生成带调试信息的 vmlinux 文件,
# 内核文件在 arch/x86/boot 目录下,文件名为 bzImage,即 vmlinuz。
make -j4