Не удалось запустить скрипт выполнения после восстановления с контрольной точки в режиме gem5 fs - PullRequest
1 голос
/ 18 апреля 2020

Мне удалось создать контрольную точку на образе диска ARM, работающем в режиме полной системы, и выполнить восстановление с этой контрольной точки. Но когда я пытаюсь запустить скрипт выполнения при восстановлении с этой контрольной точки, используя флаг «--script» (при запуске сценария в файле configs / examples / fs.py), сценарий не выполняется. Я не смог выяснить, почему и любая помощь в этом отношении будет высоко ценится.

Первоначально загрузить систему (Это работает) -> build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/bibin/projects/full-system-images/arm_18/disks/aarch64-ubuntu-trusty-headless.img --kernel=/home/bibin/projects/full-system-images/arm_18/binaries/vmlinux.vexpress_emm64 --bootloader=/home/bibin/projects/full-system-images/arm_18/binaries/boot_emm.arm64 --cpu-clock=250MHz --caches

Восстановление с контрольной точки после создания контрольной точки через telnetting и / sbin / m5 контрольную точку (это также работает) -> build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/bibin/projects/full-system-images/arm_18/disks/aarch64-ubuntu-trusty-headless.img --kernel=/home/bibin/projects/full-system-images/arm_18/binaries/vmlinux.vexpress_emm64 --bootloader=/home/bibin/projects/full-system-images/arm_18/binaries/boot_emm.arm64 --cpu-clock=250MHz --caches -r 1

Попытка выполнения сценария при восстановлении из контрольной точки (это не работает) -> build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/bibin/projects/full-system-images/arm_18/disks/aarch64-ubuntu-trusty-headless.img --kernel=/home/bibin/projects/full-system-images/arm_18/binaries/vmlinux.vexpress_emm64 --bootloader=/home/bibin/projects/full-system-images/arm_18/binaries/boot_emm.arm64 --cpu-clock=250MHz --caches --script=/home/bibin/projects/csr_parallelism/runscript_exit.rcS -r 1

Содержимое файла готового сценария просто так -> /sbin/m5 exit

1 Ответ

1 голос
/ 20 апреля 2020

Как объяснено здесь , --script устанавливает стандартный вывод, производимый m5 readefile оп.

На самом деле этот скрипт не просто запускается автоматически, вы должны сделать это самостоятельно .

Чтобы достичь этого при ручной установке точки останова, вы можете запустить , как описано здесь :

sh -c 'm5 checkpoint;m5 readfile > /tmp/gem5.sh && sh /tmp/gem5.sh'

Таким образом, когда контрольная точка будет восстановлена, мы находимся в середина для запуска сценария оболочки, который затем выполняет m5 readfile и выполняет его содержимое.

...