Выполнялось под Debian Jessie. ОС образа — тоже Debian Jessie. До этого поднимал виртуалку с raspberry, очень пригодилась эта статья: «Виртуализация raspberry.
Немного теории
Образ „прошивки“ для arm-устройства можно загрузить в виртуалку qemu-system-arm,
но есть несколько нюансов:
— чтобы ядро linux можно было запустить под виртуальной машиной, при сборке ему нужно включить поддержку виртуализации. Данный пункт обходится тем, что qemu позволяет подключить другое ядро из файла, загрузив с ним требуемый образ.
— необходимо выбрать виртуальную машину (--machine), ведь кроме архитектуры процессора имеется различная другая периферия. Чтобы посмотреть доступные виртуальные машины, нужно набрать
Материалы для скачивания:
Debian Jessie для ODROID:
— Ядро 3.2 с поддержкой виртуализации: (в пакете, там же есть другие полезные материалы)
Как учебное пособие очень пригодилась эта статья, большая часть сделана по ней.
Действия:
1) скачал qemu-system-arm
2) подготовил папку (до этого скачав образ с Jessie):
3) запустил образ следующей строкой:
Понимаю в ней не всё, но что-то могу разъяснить:
Параметры запуска ядра:
…
— корневая директория „/“ ищется в соответствующем девайсе. Сначала я указал неправильный девайс, что приводило к панике ядра. При этом оно писало, какие доступны, из чего удалось выбрать.
— нужно чтобы перенаправить консоль в терминал
— виртуальная машина и объём оперативки
сеть доступна с виртуалки, но хостовая машина является для неё NAT-ом. Перенаправляем 22 порт одроида на 8050 порт хостовой машины, чтобы иметь доступ по ssh
— подключаем ядро из файла zImage, который лежит в той же папке, образ с дебианом как флешку, отключаем монитор.
Немного теории
Образ „прошивки“ для arm-устройства можно загрузить в виртуалку qemu-system-arm,
но есть несколько нюансов:
— чтобы ядро linux можно было запустить под виртуальной машиной, при сборке ему нужно включить поддержку виртуализации. Данный пункт обходится тем, что qemu позволяет подключить другое ядро из файла, загрузив с ним требуемый образ.
— необходимо выбрать виртуальную машину (--machine), ведь кроме архитектуры процессора имеется различная другая периферия. Чтобы посмотреть доступные виртуальные машины, нужно набрать
qemu-system-arm --machine help
Материалы для скачивания:
Debian Jessie для ODROID:
— Ядро 3.2 с поддержкой виртуализации: (в пакете, там же есть другие полезные материалы)
wget http://odroid.us/odroid/users/osterluk/qemu-example/qemu-example.tgz
Как учебное пособие очень пригодилась эта статья, большая часть сделана по ней.
Действия:
1) скачал qemu-system-arm
sudo apt-get install qemu-system-arm
2) подготовил папку (до этого скачав образ с Jessie):
mkdir odroid
cd odroid
wget http://odroid.us/odroid/users/osterluk/qemu-example/qemu-example.tgz
tar -xvzf qemu-example.tgz
mv ~/Downloads/debian_jessie_armhf_odroidxu_20140103.zip .
unzip debian_jessie_armhf_odroidxu_20140103.img
3) запустил образ следующей строкой:
qemu-system-arm -append "root=/dev/mmcblk0p2 rw physmap.enabled=0 console=ttyAMA0" -M vexpress-a9 -m 1G -kernel zImage -sd debian_jessie_armhf_odroidxu_20140103.img --nographic -serial stdio -net nic -net user -redir tcp:8050::22
Понимаю в ней не всё, но что-то могу разъяснить:
Параметры запуска ядра:
-append "root=/dev/mmcblk0p2 rw physmap.enabled=0 console=ttyAMA0"
…
root=/dev/mmcblk0p2
— корневая директория „/“ ищется в соответствующем девайсе. Сначала я указал неправильный девайс, что приводило к панике ядра. При этом оно писало, какие доступны, из чего удалось выбрать.
console=ttyAMA0
и позже -serial stdio
— нужно чтобы перенаправить консоль в терминал
-M vexpress-a9 -m 1G
— виртуальная машина и объём оперативки
-net nic -net user -redir tcp:8050::22
сеть доступна с виртуалки, но хостовая машина является для неё NAT-ом. Перенаправляем 22 порт одроида на 8050 порт хостовой машины, чтобы иметь доступ по ssh
-kernel zImage -sd debian_jessie_armhf_odroidxu_20140103.img --nographic
— подключаем ядро из файла zImage, который лежит в той же папке, образ с дебианом как флешку, отключаем монитор.