Загрузка gem5 X86 Ubuntu Полная симуляция системы
Мне нужно запустить относительно новую версию образа диска x86 на gem5. Начиная с этого руководства, я использовал образ диска Ubuntu 12.04 с Kernel v3.2.1, поскольку эта комбинация работала для кого-то другого.
Через некоторое время симулятор просто зависает, поделитесь, пожалуйста, любыми соображениями о причине и возможных решениях. Спасибо!
Вы можете найти вывод на m5term / telnet ниже. После этого идет процесс подготовки образа диска и ядра к справке.
Последняя часть терминала gem5 (m5term/telnet):
# The full terminal output is here:
# https://gist.github.com/agyaglikci/018533c8d2ff2a9e86c9144d5f4a9224#file-ubuntu12-04-kernel3-2-1-gem5-terminal
Freeing unused kernel memory: 348k freed
Mount failed for selinuxfs on /sys/fs/selinux: No such file or directory
init: ureadahead main process (997) terminated with status 5
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
mknod: extra operand '64'
Try 'mknod --help' for more information.
Вот полная история подготовки образа диска:
cd ${M5_PATH}
# Download and mount the disk image
wget http://cdimage.ubuntu.com/ubuntu-base/releases/12.04/release/ubuntu-base-12.04.4-core-amd64.tar.gz
sudo util/gem5img.py init disks/ubuntu-12.04.img 4096
mkdir mnt
sudo util/gem5img.py mount disks/ubuntu-12.04.img mnt
sudo tar xzvf ubuntu-base-12.04.4-core-amd64.tar.gz -C mnt
sudo cp /etc/resolv.conf mnt/etc/
# Nano is used to paste the contents in http://www.lowepower.com/jason/creating-disk-images-for-gem5.html
sudo nano mnt/etc/init/tty-gem5.conf
sudo nano mnt/etc/hosts
sudo nano mnt/etc/fstab
# Copy m5 Binary
cd util/m5
make clean
make all -f Makefile.x86
sudo cp m5 ${M5_PATH}/mnt/sbin/
cd ${M5_PATH}
sudo umount mnt
sudo losetup -d /dev/loop0
Шаги для компиляции ядра:
Я скачал v3.2.1, а затем скопировал файл конфигурации v2.6.28.4 как файл.config v3.2.1. После удара make vmlinux
, нажмите Enter для каждого вопроса, чтобы получить значение по умолчанию.
cd ~
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout v3.2.1
wget http://www.m5sim.org/dist/current/x86/config-x86.tar.bz2
tar jxvf config-x86.tar.bz2
cp configs/linux-2.6.28.4 .config
make clean
make vmlinux -j 4
# Here compiler asks a lot of configurations, I just hit enter each time to pass the default values.
cp vmlinux ${M5_PATH}/binaries/vmlinux-amd64-v3.2.1
Наконец, команда приходит так:
build/X86/gem5.opt -d AMD64 configs/example/fs.py --disk-image ${M5_PATH}/disks/ubuntu-12.04.img --kernel ${M5_PATH}/binaries/vmlinux-amd64-3.2.1
Любой комментарий о сообщениях об ошибках или о причине / решении замораживания и т. Д. Был бы очень полезен. Заранее спасибо!
1 ответ
Лучшее решение для загрузки режима FS заключается в следующем, но IMHO Ubuntu не является хорошим вариантом, потому что systemd сильно замедляет фазу загрузки:
Скомпилируйте ядро Linux, используя этот файл конфигурации. Ядро 4.8.13 должно работать (Авторы обращаются к Джейсону Лоу Пауэру, одному из обозревателей gem5).
Теперь то, что вы хотите, это образ системы. Лучший вариант - это изображение на основе gentoo.