#!/bin/bash # # https://hutten.knut.univention.de/mediawiki/index.php/Philipp_memo/debug # set -e build_cpio () { DESTDIR=work . /usr/share/initramfs-tools/hook-functions rm -rf "$DESTDIR" mkdir -p "$DESTDIR"/{bin,dev,lib,run,sbin,sys,proc} ln -s lib "$DESTDIR/lib64" mknod -m 640 "$DESTDIR/dev/console" c 5 1 mknod -m 664 "$DESTDIR/dev/null" c 1 3 copy_exec /bin/busybox LC_ALL=C busybox --help | sed -rne '/^Currently defined functions:/,${s/^[\t ]+|,$//g;s/[\t ,]+/\n/gp}' | while read applet do ln -s busybox "$DESTDIR/bin/$applet" done cat >>"$DESTDIR/init" <<__SH__ #!/bin/sh [ -d /dev ] || mkdir -m 0755 /dev [ -d /root ] || mkdir -m 0700 /root [ -d /sys ] || mkdir /sys [ -d /proc ] || mkdir /proc [ -d /tmp ] || mkdir /tmp mount -t proc proc /proc mount -t sysfs sysfs /sys cat /proc/cpuinfo echo o >/proc/sysrq-trigger while :;do :; done __SH__ chmod 755 "$DESTDIR/init" find "$DESTDIR" -mindepth 1 -printf '%P\0' | ( cd "$DESTDIR" && cpio -o --null --format newc ) > "$0.cpio" } [ -s "$0.cpio" ] || fakeroot build_cpio kvm \ -M pc-1.1 \ -enable-kvm \ -m 512 \ -cpu "${1:-qemu64}" \ -smp 1,sockets=1,cores=1,threads=1 \ -kernel "$(ls -1v /boot/vmlinuz-* | tail -n 1)" \ -append 'nosplash quiet console=tty0 console=ttyS0,115200,8,N,1 sysrq_always_enabled=1' \ -initrd "$0.cpio" \ -monitor null \ -nographic \ -serial stdio exit 0 # xen12: host model : 30 model name : Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz stepping : 5 cpuid level : 11 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm tsc_adjust # default=qemu64 model : 2 model name : QEMU Virtual CPU version 1.1.2 stepping : 3 cpuid level : 4 flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl pni cx16 popcnt hypervisor lahf_lm # krus: host model : 45 model name : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz stepping : 7 cpuid level : 13 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up rep_good nopl pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm xsaveopt # default=qemu64 model : 2 model name : QEMU Virtual CPU version 1.1.2 stepping : 3 cpuid level : 4 flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good nopl pni cx16 popcnt hypervisor lahf_lm # isala: host model : 9 model name : AMD Opteron(tm) Processor 6128 stepping : 1 cpuid level : 5 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm 3dnowext 3dnow up rep_good nopl extd_apicid pni cx16 popcnt hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch npt nrip_save # default=qemu64 model : 2 model name : QEMU Virtual CPU version 1.1.2 stepping : 3 cpuid level : 4 flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm up nopl pni cx16 popcnt hypervisor lahf_lm svm abm sse4a # xen4: host model : 6 model name : AMD Athlon(tm) II X2 250 Processor stepping : 2 cpuid level : 5 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm 3dnowext 3dnow up rep_good nopl extd_apicid pni cx16 popcnt hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch npt nrip_save # default=qemu64 model : 2 model name : QEMU Virtual CPU version 1.1.2 stepping : 3 cpuid level : 4 flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm up nopl pni cx16 popcnt hypervisor lahf_lm svm abm sse4a