8. Разнообразные темы.
8.1. Уменьшение размера корневой файловой системы. Иногда корневая
файловая система слишком большая и не пригодна для дискеты даже после сжатия.
Есть способы уменьшить размер файловой системы, перечисленные в порядке
уменьшения эффективности:
Увеличьте плотность диска.
По умолчанию, гибкие дискеты форматируются в 1440КБ, но доступны
более высокие форматы плотности. Fdformat форматирует диски для следующих
размеров: 1600, 1680, 1722, 1743, 1760, 1840, и 1920. Большинство приводов
1440КБ поддерживает 1722КБ, и это - то, что я всегда использую для загрузочных
дисков. См. fdformat man страницу и /usr/src/linux/Documentation/devices.txt.
Замените ваш оболочку.
Некоторые из популярных оболочек для Linux, типа bash и tcsh,
большие, и требуют многих библиотек. Существуют легкие альтернативы, типа ash,
lsh, kiss и smash, которые намного меньше и требуют немного библиотек.
Большинство этих оболочек замены доступно из <http://sunsite.unc.edu/pub/Linux/system/shells/>.
Убедитесь что оболочка, которую Вы используете, способна выполнять команды во
всех rc файлах, которые Вы включаете в ваш bootdisk.
Strip библиотек и binaries
Многие библиотеки и binaries обычно включают отладочную
информацию. В этом случае запуск 'file' на этих файлах сообщит Вам ' not
stripped '. При копировании binaries в вашу корневую файловую систему, хорошо
это использовать:
objcopy --strip-all FROM TO
При копировании библиотек, используйте:
objcopy --strip-debug FROM TO
Переместите не-критичные файлы в сервисный диск.
Если некоторые из ваших binaries не необходимы для загрузки или
входа в систему, Вы можете переместить их в сервисный диск. Для подробностей
см. секцию `` Создание сервисного диска ". Вы можете также обдумать
перемещение модулей на сервисный диск.
8.2. Не - ramdisk корневые файловые системы. Секция ``Создание корневой
файловой системы " дает инструкции для создания сжатой корневой файловой
системы, которая загружается в ramdisk, когда система загружается. Этот метод
имеет много преимуществ, поэтому обычно используется он. Однако, некоторые
системы с небольшим объемом памяти не могут предоставить необходимую оперативную
память; для таких случаев корневая файловая система может быть создана, как
монтируемая непосредственно вместо копирования на ramdisk.
Такие файловые системы фактически проще создать, чем сжатые корневые файловые
системы, потому что они могут быть сформированы на дискете, а не некотором
другом устройстве, и они не должны быть сжаты. Мы будем набросаем структуру
процедуры, т.к. она отличается от инструкций, указанных выше. Если Вы выбираете
это, имейте в виду, что у Вас будет гораздо меньше доступного пространства.
1. Вычислите, сколько пространства у Вас будет для корневых файлов.
Если Вы формируете одиночный загрузочный диск, Вы должны
разместить все блоки ядра плюс все блоки для корневой файловой системы на
одном диске. 2. Используя mke2fs, создайте корневую файловую
систему на дискете соответствующего размера.
3. Заполните файловую систему как описано выше.
4. Когда это выполнено, размонтируйте файловую систему и переместите ее в
файл на диске но не сжимайте ее.
5. Переместите ядро на дискету, как описано выше. При вычислении ramdisk
слова, установите бит 14 в ноль, для указания, что корневая файловая система не
должна быть загружена к ramdisk. Выполните rdev как описано.
6. Переместите корневую файловую систему как и прежде.
Имеются несколько сокращений, которые Вы можете сделать. Если Вы формируете
набор из двух дисков, Вы можете создать полную корневую файловую систему прямо
на втором диске, и Вам не надо перемещать ее в файл жесткого диска, а затем
обратно. Также, если Вы создаете одиночный загрузочный диск и используете LILO,
Вы можете создать одну файловую систему на всем диске, содержащую ядро, LILO
файлы и корневые файлы, и просто выполнить LILO как последний шаг.
8.3. Создание сервисного диска. Создание сервисного диска -
относительно просто, просто создайте файловую систему на форматированном диске и
скопируйте файлы на него. Чтобы использовать его с загрузочным диском,
смонтируйте его вручную после того, как система загрузится.
В командах выше, мы упомянули, что сервисный диск может быть смонтирован в
/usr. В этом случае, binaries могут быть помещены в каталог /bin на вашем
сервисном диске, т.о. получается путь /usr/bin для доступа к ним. Дополнительные
библиотеки нужные binaries, помещены в /lib на сервисном диске.
Есть несколько важных моментов, которые нужно иметь в виду при проектировании
сервисного диска:
1. Не поместить критические binaries системы или библиотеки на сервисный
диск, так как он не будет смотирован, пока система не загрузилась.
2. Вы не можете обращаться к дискете и ленточному накопителю одновременно.
Это означает,что если у Вас есть ленточный накопитель, Вы будете не способны
обратиться к нему, пока ваш сервисный диск смонтирован.
3. Доступ к файлам на сервисном диске будет медлененный.
Приложение ``Пример каталога сервисного диска" показывает прмер содержимого
сервисного диска. Есть несколько полезный идей: программы для проверки и
управления дисками (format, fdisk) и файловых систем (mke2fs, fsck, isofs.o),
легкий текстовый редактор (elvis, jove), утилиты сжатия и архивации (gzip, tar,
cpio, afio), ленточные утилиты (mt, tob, taper), коммуникационные утилиты
(ppp.o, slip.o, minicom) и утилиты устройств (setserial, mknod).
|