dependencies
- build is tested on a ubuntu
- for qemu minimum needed:
sudo apt install qemu qemu-system-x86
build
create an image file with a debian rootfs (only needed first time)
run ./create_image.sh
, this downloads dbootstrap and installs a debian into a image file
chroot into debian rootfs to build the kernel
(build on your system is possible, but for example ubuntu 20.04 libs throw exceptions)
run ./chroot_image.sh
, this drops you in a shell on the created debian
to build:
apt update
apt-get install -y fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
cd /mnt
./build
run the build kernel with the created rootfs
run ./run_qemu.sh
debug using gdb
run ./run_qemu.sh gdb
run in a seperate shell:
cd .. # to workspace root
gdb vmlinux \
-ex 'lx-symbols' \
-ex 'target remote :1234' \
-ex 'hb init_pb_rq'
look for gdb add-auto-load-safe-path
warning and follow instruction to enable loading of kernel gdb scripts
use hardware breakpoints instead of software breaks