Fedora 19 для ARM
Команда Fedora ARM рада сообщить, что Fedora 19 для архитектуры ARM доступна к загрузке:
http://download.fedoraproject.org/pub/fedora-secondary/releases/19/
Fedora 19 для ARM включает два типа образов - одна для использования на платформах требующих VFAT partition (например основанные на OMAP4 Texas Instruments's, PandaBoard), другая для использования на устройствах загружаемых с EXT3/4 partition (такие как CompuLab's TrimSlice основанные на Tegra2). Для каждого типа образов, есть несколько предусматривающих различные пользовательские окружения (включая MATE, KDE, XFCE, LXDE, SOAS), а также минимальный образ, который не включает в себя рабочий стол. Любой из этих образов может быть сэмулирован с помощью QEMU на x86_64 машине, для полноценной работы окружения ARM.
Процесс установки через образ включает в себя загрузку файла образа (в зависимости от задачи требуемого типа, с рабочим окружением или нет), установка сменного носителя в "ведущей" системе (например в ARM или x86_64 персональный компьютер, ноутбук, и так далее) и выполнении нескольких простых команд для записи образа на носитель. Этот носитель в последующем будет использоваться для загрузки "целевой" системы ARM и окружения Fedora 19.
Определение носителя в системе
Определить выбранный носитель, такой как SD карта, можно используя пакет "lshw", который в свою очередь может отсутствовать в системе и его придётся установить:
sudo yum install lshw sudo lshw
"lshw" выдаёт данные по всем временным носителям, например (следует заметить, названия устройств в каждой операционной системе могут отличаться от представленных ниже):
*-scsi:1 physical id: 3 bus info: usb@2:1.8.3 logical name: scsi6 capabilities: emulated scsi-host configuration: driver=usb-storage *-disk description: SCSI Disk product: SD Card Reader vendor: APPLE physical id: 0.0.0 bus info: scsi@6:0.0.0 logical name: /dev/sdb version: 2.00 capabilities: removable configuration: sectorsize=512 *-medium physical id: 0 logical name: /dev/sdb
В примере, путь до устройства /dev/sdb, ещё раз может быть другим в другой системе.
Для CompuLab TrimSlice
Загрузить образ предварительно выбрав окружение для TrimSlice:
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora-secondary/releases/19/Images/armhfp/Fedora-$TYPE-armhfp-19-1-sda.raw.xz
Скопировать образ на подготовленный носитель:
xzcat Fedora-$TYPE-armhfp-19-1-sda.raw.xz > /dev/<location-of-your-media>
Вставить носитель в устройство TrimSlice и загрузить. Fedora будет загружена, а на экране настройки будет предложенно создать нового пользователя, задать пароль root и временную зону.
Для Texas Instruments PandaBoard и PandaBoard ES
Загрузить образ предварительно выбрав окружение для PandaBoard или PandaBoard ES.
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora-secondary/releases/19/Images/armhfp/Fedora-$TYPE-VFAT-armhfp-19-1-sda.raw.xz
Запись образа
Есть два способа записи образа и подготовки к загрузке носителя. Ниже представлены пошаговые инструкции как это сделать вручную или использовать "питонские" скрипты, на выбор.
Ручной способ
Как root скопировать образ на подготовленный носитель (например SD карта):
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal xzcat -v Fedora-XFCE-VFAT-armhfp-19-1-sda.raw.xz > /dev/<location-of-your-media>
После завершения записи образа на носитель (например SD карту), необходимо вытащить и вставить обратно носитель в персональный компьютер. Необходимо будет скопировать файлы загрузчика U-Boot в место загрузки "целевой" системы. Точки монтирования в примере ниже указаны для Fedora 18 и может потребоваться их смена для конкретной системы:
USER= # replace with your user account name on the host PC TARGET= # choose panda or panda_es sudo cp /run/media/$USER/__/usr/share/uboot-panda/{MLO,u-boot.bin,u-boot.img,uEnv.txt.$TARGET} /run/media/$USER/UBOOT/ mv /run/media/$USER/UBOOT/uEnv.txt.$TARGET /run/media/$USER/UBOOT/uEnv.txt sync
Теперь необходимо вытащить носитель из персонального компьютера, вставить обратно в устройство и загрузиться. Если будет использоваться рабочее окружение, будет необходим монитор для настройки пользователей, пароля root и временной зоны. Для минимального, достаточно подключиться к консоли в текстовом режиме.
Arm-creator.py
Jon Chiappetta упрастил процесс создания загрузочного образа для PandaBoard и PandaBoard ES. Со скриптом можно работать через командную строку или текстовое меню, на выбор, исходя из конкретных деталей устройства.
./arm-creator.py -h Usage: ./arm-creator.py [-h --help] --install --image=/path/to/Fedora-ARM.img.xz [--board=<type>] --disk=/dev/...
Командная строка
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal TARGET= #choose panda or panda_es ./arm-creator.py --install --image=/path/to/Fedora-$TYPE-VFAT-armhfp-19-1-sda.raw.xz --board=$TARGET --disk=<path-to-media>
Текстовое меню
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal ./arm-creator.py --image=/path/to/Fedora-$TYPE-VFAT-armhfp-19-1-sda.raw.xz
Дополнительную информацию о arm-creator.py, включая использование, можно обнаружить здесь.
Для Versatile Express Emulation с помощью QEMU
Нет железа с ARM? Нет проблем! Даже без железа, можно запустить образы Fedora 19 для ARM используя программный эмулятор QEMU. Любой образ может использоваться, и можно выбрать метод ручной или с помощью скрипта в зависимости от предпочтений.
Ручная подготовка
TYPE= # options include KDE, LXDE, XFCE, SoaS, Mate and Minimal wget http://download.fedoraproject.org/pub/fedora-secondary/releases/19/Images/armhfp/Fedora-$TYPE-armhfp-19-1-sda.raw.xz
Распаковать образ:
unxz Fedora-$TYPE-armhfp-19-1-sda.raw.xz
Смонтировать образ, извлечь ядро и отредактровать initramfs для загрузки.
sudo kpartx -av Fedora-$TYPE-armhfp-19-1-sda.raw
Создать временную точку монтирования
mkdir /tmp/boot sudo mount /dev/mapper/loop0p1 /tmp/boot sudo cp /tmp/boot/initramfs-3.9.5-301.fc19.armv7hl.img . sudo cp /tmp/boot/vmlinuz-3.9.5-301.fc19.armv7hl . sudo umount /tmp/boot sudo kpartx -dv Fedora-$TYPE-armhfp-19-1-sda.raw
Для загрузки:
sudo qemu-system-arm -machine vexpress-a9 -m 1024 -nographic -net nic -net user \ -append "console=ttyAMA0,115200n8 rw root=/dev/mmcblk0p3 rootwait physmap.enabled=0" \ -kernel vmlinuz-3.9.5-301.fc19.armv7hl \ -initrd initramfs-3.9.5-301.fc19.armv7hl.img \ -sd Fedora-$TYPE-armhfp-19-1-sda.raw \
Для удобства от сюда можно скачать скрипт для загрузки системы. Для запуска скрипта:
chmod 755 boot-vexpress ./boot-vexpress -h Usage: ./boot-vexpress [--gui] --kernel=vmlinuz... --ramfs=initramfs --image=fsimage [--dtb=vexpress.dtb]
Для загрузки образа:
sudo ./boot-vexpress --kernel=vmlinuz-3.9.5-301.fc19.armv7hl --ramfs=initramfs-3.9.5-301.fc19.armv7hl.img --image=Fedora-$TYPE-armhfp-19-1-sda.raw
Загрузка с помощью device tree возможна, хотя по средством графики --guiпока не работает (это связано с текущими платформенными изменениями происходящими в коде ядра Versatile Express). Загрузка без device tree рекомендована для F-19, и по прежнему всё хорошо работает, как через командную строку, так и через псевдографику. Однако через DTB (Data Translation Buffer ?) будет работать только через консоль.
Инструмент livemedia-modifier
livemedia-modifier это инструмент написанный Jon Chiappetta может быть использован для выполнения шагов описанных выше, к загрузке доступен здесь. После установки можно запустить скрипт следуя примеру:
# Extract the image unxz Fedora-$TYPE-armhfp-19-1-sda.raw.xz # Run livemedia-modifier livemedia-modifier --image=Fedora-$TYPE-armhfp-19-1-sda.raw --platform=vexpress --nocompress
modifier создаст копию оригинального образа, все изменения будут производиться с сохранением целостности оригинального образа.
Дополнительные инструкции по использованию здесь.
Calxeda EnergyCore (HighBank)
Fedora 19 для ARM поддерживает устройства, которые способны производить сетевую установку используя kickstart, включая корпоративные решения на подобии Highbank. Рабочий kickstart можно найти здесь.
Для детальных указаний по настройке следует посетить данную страничку.
Изменение размеров корневой файловой системы
По умолчанию образы в Fedora 8GB, но можно поменять до размеров носителя.
yum install dracut-modules-growroot cloud-utils-growpart
Пересборка initramfs или установка нового ядра с модулем.
#Rebuild your existing initramfs KERVER= #use your kernel version eg - '3.9.5-301.fc19.armv7hl.tegra' for the Trimslice dracut -f --kver=$KERVER mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 \ -n initramfs-$KERVER \ -d /boot/initramfs-$KERVER.img /boot/uInitrd-$KERVER # When the system is rebooted, the root partition will be resized to fill the remaining space on the media. Lastly you will need to increase the filesystem size: ROOT_PART= # location of your root partition, usually '/dev/sda3' or '/dev/mmcblk0p3' resize2fs $ROOT_PART
Первоначальная загрузка
Начальная настройка
- Во время первоначальной загрузки система запустит 'initial-setup', утилиту начальной настройки. Соответственно в образе с графическим окружением это будет отображаться на дисплее, в минимальной установке всё будет происходить через консоль. Не выполнение первоначальной настройки приведёт к невозможности входа в систему пользователем root. Для того чтобы всё таки войти пользователем root без первоначальной настройки, как минимум нужно будет поправить файл '/etc/passwd' и удалить 'x' из строки начинающийся с 'root' (это позволит войти без ввода пароля).
Известные проблемы
- Известные проблемы с устройствами основанными на OMAP3, такие как Texas Instruments BeagleBoard и BeagleBone, на которых не удается загрузить стандартные установочные образы (это обусловлено процессором Cortex-A15 исправление для ядра которого доступно, но отключено). Надеемся как-нибудь будет выпущен установочный образ на Fedora 19 при переходе на ядро Linux 3.10. В данный момент, технически грамотные пользователи могут вручную заменить ядро, с тем чтобы включить поддержку данных устройств. Остальным рекомендуется дождаться обновленного образа.