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, включая использование, можно обнаружить здесь.
For Versatile Express Emulation with QEMU
No ARM hardware? No problem! Even without hardware, it is possible to run the Fedora 19 for ARM images using the QEMU emulator program. Any image can be used, and you can choose a script method or manual depending on your preference.
Manual Preparation
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
Extract the image:
unxz Fedora-$TYPE-armhfp-19-1-sda.raw.xz
Mount the image and extract the kernel and initramfs for use with booting.
sudo kpartx -av Fedora-$TYPE-armhfp-19-1-sda.raw
Make a temporary mount point
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
To boot:
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 \
For convenience you can also download a script for booting the system here. To run the script:
chmod 755 boot-vexpress ./boot-vexpress -h Usage: ./boot-vexpress [--gui] --kernel=vmlinuz... --ramfs=initramfs --image=fsimage [--dtb=vexpress.dtb]
To boot the image:
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
Booting with device tree is possible, although passing --gui for graphics will not work at this time (this is due to ongoing platform reword occurring within the Versatile Express kernel code). Booting without device tree is recommended for F-19, as it will work in both serial and graphics mode, whereas passing a DTB will only work with serial.
livemedia-modifier
The livemedia-modifier tool written by Jon Chiappetta can be used to perform the above steps and is available here. After installing you can run the script using the following example:
# 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
The modifier will create a copy of the original image, all changes will be made on the copy preserving the original image integrity.
Additional usage instructions can be found here.
Calxeda EnergyCore (HighBank)
Fedora 19 for ARM includes support for systems that are able to perform a network installation using a kickstart, including enterprise hardware such as the Highbank. A working kickstart can be found here.
For more detailed instructions on setting this up, please visit this page.
Resize the Root Filesystem
By default the images in Fedora are 8GB and can be resized to fit your media.
yum install dracut-modules-growroot cloud-utils-growpart
Rebuild the initramfs or install a new kernel to use the module.
#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
Booting for the First Time
Initial-setup
- During the first boot the system will launch the 'initial-setup' utility. For graphical images this will occur on the display, for minimal images this will occur on the serial console. Failure to complete the initial-setup will prevent logging into the root account. To log in to the root account without completing the initial-setup you will need to minimally edit '/etc/passwd' file and remove the 'x' from the line beginning with 'root' (this will allow you to log into the root account without entering a password).
Known Issues
- A known issue exists wherein OMAP3-based devices, such as the Texas Instruments BeagleBoard and BeagleBone, are are unable to boot the standard installation images (this is due to a Cortex-A15 errata option that was enabled in the kernel and has been disabled). We hope to issue updated installation images once Fedora 19 transitions to Linux kernel 3.10. At this time, technical users may choose to manually replace the kernel in order to enable support for these devices. Others are encouraged to wait for updated images.