Releases
Периодические сборки доступны по адресу https://ftp.radix-linux.su/radix/system/releases. Здесь имена каталогов напоминают обычное представление версий программного обеспечения, отличие состоит в том, что первые две цифры, разделенные символом точка ('.'), совпадают с версией платформы, а последняя, – равна ревизии ветки, сборка которой представлена в соответствующем каталоге.
Внутренняя структура каталогов любого выпуска может быть представлена в виде дерева:
1.9.402 │ ├── i686-glibc │ └── intel-pc32 │ ├── rk339x-glibc │ └── leez-p710 │ ├── app │ ├── base │ ├── boot │ ├── dev │ ├── dict │ ├── fonts │ ├── libs │ ├── net │ ├─ @.pkglist │ ├── leez-p710-RcL-1.9.402.torrent │ ├── leez-p710.SD.MBR │ ├── leez-p710.boot-records │ ├── leez-p710.ext4fs │ └── leez-p710.pkglist │ └── x86_64-glibc └── intel-pc64
где на первом уровне вложенности располагаются каталоги, соответствующие архитектуре или имени toolchain-а, а имена каталогов второго уровня представляют собой имена устройств.
На предыдущем листинге в каталоге 'rk339x-glibc/leez-p710' показан примерный состав дистрибутива. Подробную информацию о файлах с именами вида '$(HARDWARE).{SD.MBR|boot-records|ext4fs|pkglist}' можно получить в разделе, описывающем сервисные цели системы сборки.
В дополнение к основным файлам выпуска, в каталоге может быть представлен torrent-файл, например, leez-p710-RcL-1.9.402.torrent. Имя файла отражает название платы, для которой создан выпуск, а также сокращенное имя системы и версия сборки. В данном случае RcL-1.9.402.
Torrent-файлы содержат информацию о всех файлах, находящихся в каталоге выпуска кроме образов qcow2 и VDI дисков для виртуальных машин, также в описание не входят скрытые файлы .dialogrc и символические ссылки .pkglist. Кроме того, исполняемые файлы write-efiboot-image после загрузки получают аттрибуты 0644 и перед их использованием следует вручную изменить аттрибыты на 0755.
Boot Images
Для приготовления загрузочного образа и записи его на SD-карту достаточно выполнить команды:
# cat leez-p710.boot-records leez-p710.ext4fs > SDHC.img # dd if=SDHC.img of=/dev/mmcblk0
где, leez-p710 – имя файла, соответствующее имени целевого устройства.
Оставшееся место на карте можно распределить с помощью утилиты fdisk, например, создав дополнительный раздел для размещения домашних каталогов пользователей.
В случае 32-битных архитектур Intel i586, i686 вместо файла с расширением .boot-records, будет присутствовать файл с расширением .grub-records. Процедура записи образа на SD-карту или любой другой накопитель не будет отличаться от предыдущей:
# cat intel-pc32.grub-records intel-pc32.ext4fs > USB.img # dd if=USB.img of=/dev/sdX
Разница состоит лишь в том, что в качестве загрузчика здесь будет использоваться GRUB. Однако сам носитель по-прежнему будет иметь, так называемую, MBR-структуру разделов.
В отличие от GUID-схемы таблицы разделов, MBR удобнне тем, что для создания дополнительных разделов на диске, вам не придется перемещать Secondary GPT Header в конец физического носителя после того, как вы записали бинарный образ на диск.
Для целевой архитектуры x86_64 мы используем EFI-загрузчик и поэтому в каталоге очередного выпуска дистрибутива будут располагаться другие файлы:
1.9.402 │ └── x86_64-glibc └── intel-pc64 ├── app ├── base ├── boot ├── dev ├── dict ├── fonts ├── libs ├── net ├── .dialogrc ├─ @.pkglist ├── intel-pc64-RcL-1.9.402.torrent ├── intel-pc64.efi32fs ├── intel-pc64.ext4fs ├── intel-pc64.pkglist └─ *write-efiboot-image
Здесь процедура создания загрузочных образов будет отличаться от описанных ранее. Рассмотрим запись образа на физический USB-носитель, подключенный, например как /dev/sdg устройство.
Запись на физический носитель будет осуществляться уже с помощью скрипта write-efiboot-image, параметрами которого будут: образ FAT32 файловой системы, содержащей EFI-загрузчик и образ корневой файловой системы. При этом Secondary GPT Header будет размещен именно в конце физического носителя и пользователю не придется вручную передвигать данную таблицу.
# ./write-efiboot-image -e intel-pc64.efi32fs -r intel-pc64.ext4fs /dev/sdg
Рассмотрим теперь приготовление образов для виртуальных машин.
Допустим нам необходимы образы саморасширяющихся виртуальных дисков для VirtualBox и Libvirt (Qemu/KVM) максимального размера 64GiB. В этом случае нам надо создать предварительный, полный образ:
#!/bin/bash fallocate --lenght 64GiB radix.img DEVICE=`losetup -f` losetup -f -P radix.img ./write-efiboot-image -e intel-pc64.efi32fs -r intel-pc64.ext4fs $DEVICE losetup -d $DEVICE
Преобразование полного RAW-образа radix.img в qcow2-формат для Qemu/KVM осуществляется с помощью команды qemu-img следующим образом:
#!/bin/bash qemu-img convert -f raw -O qcow2 radix.img radix-1.9.402.qcow2
Так же легко можно получить образ для VirtualBox:
#!/bin/bash VBoxManage convertdd radix.img radix-1.9.402.vdi --format VDI
Готовые образы для виртуальных машин можно найти, например, в каталоге https://ftp.radix-linux.su/radix/system/releases/1.9.402/x86_64-glibc/intel-pc64.