@@ -193,6 +193,15 @@ function prepare_and_build_rootfs {
193193 build_initramfs
194194}
195195
196+ function vmlinux_split_debuginfo {
197+ VMLINUX=" $1 "
198+ DEBUGINFO=" $VMLINUX .debug"
199+ objcopy --only-keep-debug $VMLINUX $DEBUGINFO
200+ objcopy --preserve-dates --strip-debug --add-gnu-debuglink=$DEBUGINFO $VMLINUX
201+ # gdb does not support compressed files, but compress them because they are huge
202+ gzip -v $DEBUGINFO
203+ }
204+
196205function build_al_kernels {
197206 if [[ $# = 0 ]]; then
198207 local KERNEL_VERSION=" all"
@@ -208,7 +217,6 @@ function build_al_kernels {
208217 clone_amazon_linux_repo
209218
210219 CI_CONFIG=" $PWD /guest_configs/ci.config"
211- FTRACE_CONFIG=" $PWD /guest_configs/ftrace.config"
212220
213221 if [[ " $KERNEL_VERSION " == @ (all| 5.10) ]]; then
214222 build_al_kernel $PWD /guest_configs/microvm-kernel-ci-$ARCH -5.10.config " $CI_CONFIG "
@@ -221,10 +229,14 @@ function build_al_kernels {
221229 fi
222230
223231 # Build debug kernels
232+ FTRACE_CONFIG=" $PWD /guest_configs/ftrace.config"
233+ DEBUG_CONFIG=" $PWD /guest_configs/debug.config"
224234 OUTPUT_DIR=$OUTPUT_DIR /debug
225235 mkdir -pv $OUTPUT_DIR
226- build_al_kernel " $PWD /guest_configs/microvm-kernel-ci-$ARCH -5.10.config" " $CI_CONFIG " " $FTRACE_CONFIG "
227- build_al_kernel " $PWD /guest_configs/microvm-kernel-ci-$ARCH -6.1.config" " $CI_CONFIG " " $FTRACE_CONFIG "
236+ build_al_kernel " $PWD /guest_configs/microvm-kernel-ci-$ARCH -5.10.config" " $CI_CONFIG " " $FTRACE_CONFIG " " $DEBUG_CONFIG "
237+ vmlinux_split_debuginfo $OUTPUT_DIR /vmlinux-5.10.*
238+ build_al_kernel " $PWD /guest_configs/microvm-kernel-ci-$ARCH -6.1.config" " $CI_CONFIG " " $FTRACE_CONFIG " " $DEBUG_CONFIG "
239+ vmlinux_split_debuginfo $OUTPUT_DIR /vmlinux-6.1.*
228240}
229241
230242function print_help {
0 commit comments