mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
Add gem5 as buildroot package to cross compile m5. Add gem5 as a submodule. Split gem5 from arch on CLI with "-a arm -g" instead of "-a arm-gem5".
37 lines
907 B
Bash
Executable File
37 lines
907 B
Bash
Executable File
#!/usr/bin/env bash
|
|
arch=arm
|
|
while getopts 'a:' OPT; do
|
|
case "$OPT" in
|
|
a)
|
|
arch="$OPTARG"
|
|
;;
|
|
esac
|
|
done
|
|
shift "$(($OPTIND - 1))"
|
|
outdir="$(pwd)/buildroot/output.${arch}-gem5~"
|
|
gem5_dir="$(pwd)/gem5/gem5"
|
|
if [ "$arch" = x86_64 ]; then
|
|
cmd="\
|
|
M5_PATH='$(pwd)/gem5/gem5-system' \
|
|
'${gem5_dir}/build/X86/gem5.opt' \
|
|
'${gem5_dir}/configs/example/fs.py' \
|
|
--disk-image='${outdir}/images/rootfs.ext2' \
|
|
--kernel='${outdir}/build/linux-custom/vmlinux' \
|
|
--root-device=/dev/sda \
|
|
"
|
|
elif [ "$arch" = arm ]; then
|
|
cmd="\
|
|
M5_PATH='$(pwd)/gem5/gem5-system' \
|
|
'${gem5_dir}/build/ARM/gem5.opt' \
|
|
'${gem5_dir}/configs/example/fs.py' \
|
|
--disk-image='${outdir}/images/rootfs.ext2' \
|
|
--dtb-file='${gem5_dir}/system/arm/dt/armv7_gem5_v1_1cpu.dtb' \
|
|
--kernel='${outdir}/build/linux-custom/vmlinux' \
|
|
--machine-type=VExpress_GEM5_V1 \
|
|
--root-device=/dev/sda \
|
|
"
|
|
fi
|
|
cmd="$cmd \"\$@\""
|
|
echo "$cmd"
|
|
eval "$cmd"
|