linux-2-6-11内核调试环境搭建

linux内核调试环境分为两部分

1)用bochs调试汇编
2)用qemu调试从start_kernel开始的部分

环境说明:

内核版本: 2.6.11
ubuntu: 6.10
qemu: qemu-stable-0.13
busybox: 1.10.4

安装ubuntu

ubuntu1

安装软件包

更新软件源

deb http://old-releases.ubuntu.com/ubuntu  edgy main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse

制作根文件系统

使用busybox制作文件系统,busybox的版本是:1.10.4

  1. 选择静态库
    make menuconfig
Busybox Settings  --->
                Build Options  ---> 
                [*] Build BusyBox as a static binary (no shared libs)
  1. make -j4

制作ramdisk镜像

#!/bin/bash
sudo rm -rf rootfs
sudo rm -rf tmpfs
sudo rm -rf ramdisk*
sudo mkdir rootfs
sudo cp busybox-1.10.4/_install/* rootfs/ -raf
sudo mkdir -p rootfs/proc/
sudo mkdir -p rootfs/sys/
sudo mkdir -p rootfs/tmp/
sudo mkdir -p rootfs/root/
sudo mkdir -p rootfs/var/
sudo mkdir -p rootfs/mnt/
sudo cp etc rootfs/ -arf
sudo mkdir -p rootfs/lib
#sudo cp -arf /lib/* rootfs/lib/
sudo cp -arf /lib/lib* rootfs/lib/
sudo cp -arf /lib/ld* rootfs/lib/
sudo rm -f rootfs/lib/*.a
sudo strip rootfs/lib/*
sudo mkdir -p rootfs/dev/
sudo mknod rootfs/dev/tty1 c 4 1
sudo mknod rootfs/dev/tty2 c 4 2
sudo mknod rootfs/dev/tty3 c 4 3
sudo mknod rootfs/dev/tty4 c 4 4
sudo mknod rootfs/dev/console c 5 1
sudo mknod rootfs/dev/null c 1 3
sudo mknod rootfs/dev/ram b 1 1
sudo dd if=/dev/zero of=ramdisk bs=1M count=32
sudo mkfs.ext3 -F ramdisk
sudo mkdir -p tmpfs
sudo mount -t ext3 ramdisk ./tmpfs/  -o loop
sudo cp -raf rootfs/*  tmpfs/
sudo umount tmpfs

猜你喜欢

转载自blog.csdn.net/chengbeng1745/article/details/84836617