From Development Machine
Прежде чем приступать к инсталляции платформы Radix.Linux с использованием машины разработчика, необходимо выполнить загрузку и установку средств инсталляции так, как описано в параграфе Install Tools раздела Platform Download.
Наиболе простым способом приготовления загрузочной SD-карты является непосредственная запись образа на карту, с использованием утилиты dd. Об этом мы рассказывали во вводной статье. Однако утилита radix-setup позволяет не только записать необходимые образы на загрузочный носитель, но и обеспечить выполнение некоторых операций, связанных с настройкой целевой операционной системы перед ее использованием. Иными словами, программа radix-setup выполняет функции обычного системного инсталлятора, но предназначена для работы на персональной машине разработчика. При этом установка системы производится на сменный носитель, который в дальнейшем будет использован для загрузки целевого устройства.
Итак, после загрузки дистрибутива во временный локальный каталог, копирования в него программ radix-setup, setup-install-tools и установки средств инсталляции в домашний каталог суперпользователя (см. параграф Install Tools), утилита radix-setup готова к работе.
Перед началом необходимо подключить чистый сменный носитель к персональной машине. Здесь важно подчеркнуть, что перед использованием SD-карты или другого носителя информации, с него желательно удалить все разделы, воспользовавшись, например, утилитой fdisk.
Simplest Installation
Рассмотрим процесс инсталляции на простейшем примере, когда используется непосредственная запись загрузочного образа на SD-карту.
Вначале программа установки запросит местоположение каталога, содержащего дистрибутив (см. рис.1).

Для пользователей, незнакомых с особенностями программ основанных на библиотеке ncurses, необходимо подчеркнуть, что после наведения указателя на выбранный каталог необходимо воспользоваться клавишей <Space> для того, чтобы диалог, показанный на рис.1, вернул правильное значение. На следующем рисунке показано, как должен выглядеть правильный выбор, а именно, то, что в нижней строке присутствует действительный путь к выбранному каталогу.

Далее программа установки попросит подтвердить имя архитектуры, выбранное по умолчанию, или изменить его.

Кроме того, пользователю будет предложено подтвердить имя целевого устройства так, как показано на следующем рисунке.

Следующий вопрос связан с выбором целевого каталога или носителя для копирования продуктов. Дело в том, что утилита radix-setup позволяет осуществить инсталляцию в обычный каталог, естественно, при этом будет разрешена лишь интерактивная инсталляция пакетов, входящих в состав дистрибутива, без использования возможности копирования образа корневой файловой системы на диск.
Поскольку нас интересует приготовление загрузочной SD-карты, мы выберем инсталляцию на сменный носитель так, как показано на рис.5.

На следующем рисунке показан выбор, непосредственно, целевого носителя, подключенного к машине разработчика. Здесь следует сказать, что при выбранном нами типе инсталляции, список доступных устройств не будет содержать диск, на котором расположена локальная копия дистрибутива и сама программа radix-setup.

Следующий диалог предоставляет возможность выбора дальнейшего пути инсталляции. Существует два способа инсталляции системы, первый способ, подразумевает копирование образа целевой файловой системы непосредственно на диск, второй способ, состоит в том, что пакеты, входящие в состав дистрибутива, будут устанавливаться в целевой каталог в последовательности, заданной списком '$(HARDWARE).pkglist'.

После подтверждения записи непосредственно образа корневой файловой системы на целевой носитель (кнопка <Yes>), пользователю необходимо дождаться окончания процесса. Текущее состояние будет отображаться так, как показано на следующем рисунке.

По окончании процесса записи, будет отображен статус завершения (рис.9):

В принципе, на этом процесс инсталляции можно считать завершенным. Однако если на целевом диске осталось свободное пространство, программа radix-setup передложит создать дополнительные разделы, воспользовавшись утилитой fdisk.
Unallocated Space
Диалог, представленный на рис.10, служит как напоминание о том, что помимо раздела, содержащего корневую файловую систему, неплохо выделить раздел для домашних каталогов пользователей и, может быть, раздел для свопинга.

Разумеется, количство и назначение дополнительных разделов полностью зависит от требований, предъявляемых самим пользователем к целевому устройству. Однако мы рассмотрим процесс выделения дополнительных разделов на примере создания разделов home и swap для того, чтобы предоставить исчерпывающую информацию о работе утилиты radix-setup.
Прежде чем двигаться дальше, необходимо напомнить, что процесс инсталляции мы рассматриваем на примере приготовления загрузочной SD-карты для устройства OMAP5 uEVM. Кроме того размер, имевшейся в нашем распоряжении, SD-карты составлял 16Gb.
Итак, решив создать дополнительные разделы на диске и распечатав затем текущее содержимое с помощью команды 'p', пользователь получит сообщения, примерно такие, как показано на рис.11.

На следующем листинге показаны все необходимые команды, которые необходимо выполнить для создания разделов home и swap.
Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p Partition number (1-4, default 3): 3 First sector (10892288-30881791, default 10893312): Using default value 10893312 Last sector, +sectors or +size{K,M,G} (10893312-30881791, default 30881791): 30873599 Partition 3 of type Linux and of size 9.5 GiB is set Command (m for help): n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): p Selected partition 4 First sector (10892288-30881791, default 30873600): Using default value 30873600 Last sector, +sectors or +size{K,M,G} (30873600-30881791, default 30881791): Using default value 30881791 Partition 4 of type Linux and of size 4 MiB is set Command (m for help): p Disk /dev/mmcblk0: 15.8 GB, 15811477504 bytes 4 heads, 16 sectors/track, 482528 cylinders, total 30881792 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/mmcblk0p1 * 2048 1048575 523264 c W95 FAT32 (LBA) /dev/mmcblk0p2 1048576 10892287 4921856 83 Linux /dev/mmcblk0p3 10893312 30873599 9990144 83 Linux /dev/mmcblk0p4 30873600 30881791 4096 83 Linux Command (m for help): t Partition number (1-4): 4 Hex code (type L to list codes): 82 Changed system type of partition 4 to 82 (Linux swap) Command (m for help): p Disk /dev/mmcblk0: 15.8 GB, 15811477504 bytes 4 heads, 16 sectors/track, 482528 cylinders, total 30881792 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/mmcblk0p1 * 2048 1048575 523264 c W95 FAT32 (LBA) /dev/mmcblk0p2 1048576 10892287 4921856 83 Linux /dev/mmcblk0p3 10893312 30873599 9990144 83 Linux /dev/mmcblk0p4 30873600 30881791 4096 82 Linux swap Command (m for help): w
Здесь, выделенные строки представляют собой приглашения, на которые программа fdisk ожидает ответ. Ввод пользователя, отличный от простого нажатия клавиши <Enter>, выделен красным цветом.
Создав все необходимые разделы, важно не забыть воспользоваться командой 'w' утилиты fdisk для записи таблицы разделов.
Format Partitions
После того как необходимые разделы будут созданы, программа radix-setup предложит цикл, в котором пользователь сможет создать файловые системы в соответствующих разделах и указать точки монтирования, созднных файловых систем, в корневой файловой системе. Прохождение по циклу осуществляется кнопкой <OK>, а для выхода из цикла предназначена кнопка <Continue>.
На рис.12 показан диалог выбора раздела home. Кроме того на рис.12 видно, что каждая строка, соответствующая определенному разделу диска, содержит поля, информирующие о размере раздела, типе файловой системы, размещенной на нем, а также о текущем значении точки монтирования (последний столбец).
По умолчанию программа radix-setup расценивает первый свободный раздел, следующий за корневой файловой системой, как раздел, предназначенный для домашних каталогов пользователей. Поэтому созданный нами третий раздел уже имеет точку монтирования /home.

После нажатия на кнопку <OK>, программа radix-setup предложит выбрать тип файловой системы из списка, показанного на рис.13.

Далее будет необходимо задать метку раздела. Значение по умолчанию, если оно существует, соответствует предположению программы radix-setup о назначении раздела диска. Диалог, представленный на следующем рисунке, предназначен для задания метки раздела.

После показа информационного сообщения и, непосредственно создания файловой системы

пользователю будет предоставлена возможность задать точку монтирования новой файловой системы:

После того как все операции, связанные с текущим разделом диска, будут завершены, строка в списке разделов будет подсвечена так, как показано на рис.17.

При выборе раздела типа Linux swap, пользователю будет необходимо лишь подтвердить запрос на форматирование:

Для выхода из цикла создания файловых систем необходимо воспользоваться кнопкой <Continue> так, как показано на рис.19.

Interactive Installation
Если на вопрос диалога, показанного на рис.7, дать не утвердительный ответ, то программа radix-setup пойдет по пути стандартной инсталляции пакетов программ.
При выборе такого способа инсталляции программа radix-setup, в первую очередь, предложит создать необходимые разделы на диске (диалг, подобный тому, что показан на рис.10), затем предоставит возможность форматирования разделов и выбора точек монтирования так, как описано в параграфе Firmat Partitions.
Важно отметить, что перед тем как создавать разделы диска, необходимо уточнить размер корневой файловой системы, а также выяснить, надо ли создавать дополнительный загрузочный раздел, как, например, для устройства OMAP5 uEVM. Сделать это не трудно. Достаточно посмотреть на наличие и размеры образов файловых систем '$(HARDWARE).{fat32fs|ext4fs}', входящих в состав дистрибутива.
Итак, после создания и форматироания разделов диска, программа radix-setup создаст базовое дерево каталогов, путем инсталляции пакета init-devices

и, затем, предложит список пакетов для инсталляции:

Отказываться от инсталляции того или иного пакета, здесь, надо с большой осторожностью. Дело в том, что набор '$(HARDWARE).pkglist' создан не случайно и представляет собой монолитную систему с точки зрения межпакетных зависимостей. Поэтому прежде чем что-либо менять, лучше всего изучить зависимости пакетов друг от друга.
После подтверждения списка, на экран, последовательно, будут выводиться информационные сообщения о пакетах, устанавливаемых в целевую файловую систему. Пример такого сообщения показан на рис.22.

По завершении процесса инсталляции программа radix-setup перейдет к выполнению процедур настройки целевой системы.
Post Install Operations
Некоторые пакеты, после инсталляции, могут требовать дополнительной настройки. Рассматриваемые далее процедуры уже не относятся к процессу инсталляции. Программа radix-setup лишь выполняет скрипты, инсталлированные в составе пакетов. Самым простым примером подобных операций является программа установки аппаратного таймера и выбора временной зоны.
Hardware Clock
Пакет glibc-zoneinfo, в своем составе, содержит скрипт /sbin/timeconfig. Именно ему передается управление, программой radix-setup, по завершении инсталляции пакетов.
В первую очередь, пользователю предлагается выбрать шкалу отсчета времени для аппаратного таймера целевого устройства.

По умолчанию, в аппаратный счетчик будет заноситься локальное время.
Затем скрипт /sbin/timeconfig предложит выбрать временную зону, для работы в которой, предназначено целевое устройство. Пример выбора зоны представлен на рис.24.

Разумеется, установку временной зоны можно будет повторить в любое время на уже работающей системе. Для этого достаточно обратиться к скрипту /sbin/timeconfig от имени суперпользователя.
Если в системе нет других настроечных скриптов, то программа radix-setup выдаст сообщение о завершении процесса инсталляции.
LILO Setup
Если для большинства, поддерживаемых нами, устройств в качестве загрузчика используется U-Boot, то для Intel-машин обычно используются загрузчики, которые полагаются на средства BIOS. К числу таких загрузчиков относится LILO (LInux LOader).
Итак, обнаружив в системе скрипт /sbin/liloconfig, программа radix-setup немедленно передаст управление ему и, пользователь сможет начать установку LILO.

Диалог, представленный на рис.25, дает возможность выбора числа вопросов, задаваемых пользователю, во время установки. Однако на данный момент времени процедуры типа Simple и Expert абсолютно одинаковы. Наверное процедура типа Expert будет усложнена, однако, даже в этом случае, мы будем рекомендовать пользователям именно это тип установки.
Первый вопрос, задаваемый пользователю, касается размера Frame Buffer-а. Современные машины имеют достаточно мощьные графические ускорители и, скорее всего данный вопрос относится к возможностям самого загрузчика. Мы рекомендуем подтвердить выбор, показанный на рис.26.

Следующий диалог (рис.27) позволяет задать дополнительные параметры ядру Linux. Если пользователь не уверен в необходимости задания параметров, то поле ввода лучше всего оставить пустым.

Далее последует вопрос об использовании кодировки UTF-8 для системной консоли.

Разумеется, мы рекомендуем утвердительный ответ, поскольку современные программы давно поддерживают UTF-8.
Загрузчик LILO, помимо простого текстового интерфейса, предоставляет возможность отображения на экране простой картинки. Мы приготовили такое изображение и, если пользователь предпочитает иметь графический интерфейс загрузчика, то на следующий вопрос (рис.29) ему надо дать утвердительный ответ.

Когда ответы на все вопросы будут получены, скрипт /sbin/liloconfig предоставит возможность рассмотреть или отредактировать результирующий файл /etc/lilo.conf. На рис.30 представлено начало файла /etc/lilo.conf.

Здесь важно отметить, что на данном этапе пользователю не рекомендуется изменять значения пременных boot и root, о которых мы поговорим чуть позже.
Закончив процесс редактирования, пользовать должен сохранить результат воспользовавшись кнопкой <OK> так, как показано на следующем рисунке.

По окончании записи файла /etc/lilo.conf, скрипт /sbin/liloconfig приступит к установке загрузчика LILO. При этом на экран будет выведено сообщение, показанное на рис.32.

Поскольку мы проводили инсталляцию на сменный носитель, подключенный к машине разработчика, приготовленный нами диск не вполне пригоден для загрузки целевой машины.
Дело в том, что когда диск будет подключен к целевой машине, значения пременных boot и root, в файле /etc/lilo.conf, окажутся не действительными. На рис.33 показано предупреждение о том, что для старта Intel-машины необходимо изменить значения переменных boot и root, но сделать это нужно на самой целевой машине.

Поэтому, после завершения инсталляции, созданный диск необходимо подключить к целевой машине, но загрузку осуществить с другого диска, например, это может быть Live-CD или загрузочный диск любого дистрибутива Linux.
Затем необходимо смонтировать корневую файловую систему, приготовленного диска, в любой каталог, перейти в него с помощью команды chroot, отредактировать файл etc/lilo.conf и выполнить команду /sbin/lilo.
Если предположить, что созданный нами диск, например, /dev/mmcblk0 будет подключен к целевой машине как устройство /dev/sda, то все необходимые действия можно описать следующим образом.
# mkdir -p /mnt/radix # mount /dev/sda1 /mnt/radix # chroot /mnt/radix # vim etc/lilo.conf
Изменить значения переменных boot и root на следующие.
boot = /dev/sda . . . root = /dev/sda1 . . .
Выполнить команду lilo и перезагрузить систему,
# lilo # exit # umount /mnt/radix # reboot
но уже используя, приготовленный нами, диск как загрузочный.
Напомним здесь еще раз, что, как сама установка LILO, так и, описанные нами, нетривиальные действия по подключению загрузочного диска к целевому устройству, касаются только BIOS-машин с архитекткрой x86.
End of Installation
Поскольку суперпользователь, вновь инсталлированной системы, может начать первую сессию без пароля, в завершение установки, программа radix-setup выдаст сообщение, напоминающее о необходимости задать пароль пользователя root при первом входе в систему.

Теперь, подключив созданный диск или SD-карту к целевому устройству, можно осуществить первый старт системы Radix.Linux.