diff options
-rwxr-xr-x | kexec-test.sh | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/kexec-test.sh b/kexec-test.sh index 8a5e787..c75e769 100755 --- a/kexec-test.sh +++ b/kexec-test.sh @@ -6,13 +6,15 @@ metadata="/home/root/.kexec-test-data" kernel="/boot/vmlinux.strip" cmdline="$( cat /proc/cmdline) kexec_tools_instance=$kexec_tools_instance" dtb="/boot/fdt.dtb" +load_type="--load" usage(){ echo "Usage:" - echo "kexec-test [--metadata <file>] [--kernel <kernel> --append <command line> --dtb <dtb_file>] [--validate] [--reset] [--help]" + echo "kexec-test [--metadata <file>] [--kernel <kernel> --append <command line> --dtb <dtb_file> --panic] [--validate] [--reset] [--help]" echo echo "--[m]etadata default - /home/root/.kexec-test-data" echo "--[k]ernel default - /boot/vmlinux.strip" + echo "--[p]anic load the kernel for use on panic" echo "--[a]ppend defalut - current /proc/cmdline + KERNEL ID" echo "--[d]tb default - /boot/fdt.dtb" echo "--[v]alidate Checks whether recent kexec boot Success or Fail" @@ -47,6 +49,9 @@ do -k | --kernel ) shift kernel=$1 ;; + -p | --panic ) load_type="--load-panic" + panic=" PANIC" + ;; -a | --append ) shift cmdline="$1 kexec_tools_instance=$kexec_tools_instance" ;; @@ -68,11 +73,15 @@ do shift done -echo "kexec-test: LOADING KERNEL $kexec_tools_instance" | tee -a $metadata -echo "kexec -d --load $kernel "--append=$cmdline" --dtb=$dtb" | tee -a $metadata +echo "kexec-test: LOADING$panic KERNEL $kexec_tools_instance" | tee -a $metadata +echo "kexec -d $load_type $kernel "--append=$cmdline" --dtb=$dtb" | tee -a $metadata sleep 3 -kexec -d --load $kernel "--append=$cmdline" --dtb=$dtb -echo "kexec-test: BOOTING KERNEL $kexec_tools_instance" | tee -a $metadata +kexec -d $load_type $kernel "--append=$cmdline" --dtb=$dtb +echo "kexec-test: BOOTING$panic KERNEL $kexec_tools_instance" | tee -a $metadata sleep 3 +if [ $panic ] +then +echo c > /proc/sysrq-trigger +else kexec -d -e - +fi |