Подтвердить что ты не робот

Создание пользовательского Linux Live CD

Может ли кто-нибудь указать мне хороший учебник по созданию загрузочного компакт-диска Linux с нуля?

Мне нужна помощь с довольно специализированной проблемой: моя фирма продает карту расширения, которая требует специальной прошивки. В настоящее время мы используем чрезвычайно старый образ Live CD RH7.2, который мы обновляем с помощью текущей прошивки. Производство помещает карты в машину, садится с компакт-диска, компакт-диск записывает прошивку, выключает и вытаскивает карты. Из-за этого цикла необходимо, чтобы компакт-диск загрузился и выключился как можно быстрее.

Проблема в том, что со следующего поколения карт я должен обновить компакт-диск до ядра 2.6. Достаточно легко приобрести уже существующий Live CD, но все они предназначены для демонстрации Linux на рабочем столе, что означает, что они навсегда загружаются.

Может ли кто-нибудь исправить меня с помощью текущего How-To?


Обновление:

Итак, как последнее обновление для тех, кто читает это позже - инструмент, который я использовал, был "livecd-creator".

Моя причина выбора этого инструмента заключалась в том, что он доступен для дистрибутивов на основе RedHat, таких как CentOs, Fedora и RHEL, которые являются всеми дистрибутивами, которые моя компания уже поддерживает. Кроме того, хотя проект очень плохо документирован, он чрезвычайно настраиваемый. Мне удалось создать минимальный LiveCD и отредактировать последовательность загрузки, чтобы она загружалась непосредственно в обновление прошивки вместо оболочки bash.

Вся работа заняла бы час или два, если бы README объяснял конфигурационный файл!

4b9b3361

Ответ 1

Один из ключевых советов, которые я могу дать, - это то, что большинство LiveCD используют сжатую файловую систему под названием squashfs, чтобы как можно больше данных на компакт-диске. Поскольку вам не требуется сжатие, вы можете запустить шаг mksquashfs (присутствующий в большинстве руководств) с -noDataCompression и -noFragmentCompression, чтобы сэкономить время декомпрессии. Вы даже можете полностью отказаться от подхода squashfs, но это потребует некоторой реструктуризации. Это может быть на самом деле медленнее в зависимости от скорости чтения CD-ROM и скорости процессора, но это стоит посмотреть.

Этот учебник Ubuntu был достаточно эффективен для создания LiveCD на основе 8.04. Может быть полезно получить представление о том, как LiveCD скомпонован, но я, вероятно, не рекомендую использовать Ubuntu LiveCD.

Если это вообще возможно, найдите минимальный LiveCD и создайте его с минимальным отключением, а не сбрасывайте огромные LiveCD, такие как Ubuntu. Есть некоторые ситуации, когда меньшие дистрибутивы используют альтернативные варианты меньшего/более быстрого, а не просто оставляют что-то. Если вы хотите серьезно заняться хардкором, вы можете посмотреть Linux From Scratch и включить только то, что вы хотите, но это, вероятно, больше времени, чем вы хотите потратить.

Ответ 2

Есть несколько интересных проектов, которые вы могли бы изучить.

Но сначала: это должен быть CD-ROM? Это, вероятно, самое медленное хранилище (ну, кроме ленты, возможно) вы могли бы использовать. Как насчет быстрого USB-накопителя или жесткого диска IEE1394 или, возможно, даже жесткого диска eSATA?

Хорошо, есть несколько Live-CD, которые разработаны, чтобы быть очень маленькими, чтобы, например, на компакт-диске с размером визитной карточки. Некоторые из них также были предназначены для загрузки с USB-накопителя, когда это означало 64-128 MiByte: Damn Small Linux является одним из самых известных, однако он использует ядро ​​2.4. Существует дочерний проект под названием Damn Small Linux - не, который имеет ядро ​​2.6 (хотя кажется он не обновлялся годами.)

Еще один заслуживающий внимания проект - grml, Live-CD для задач системного администрирования. Он не загружается в графическую среду и, следовательно, довольно быстро; однако он все еще содержит около 2 GiByte программного обеспечения, сжатого на CD-ROM. Но он также имеет меньший вкус, точно названный grml-small, который содержит только около 200 MiByte программного обеспечения, сжатого на 60 мегабайт.

Тогда существует Morphix, который представляет собой набор инструментов для создания Live-CD на основе Knoppix. ( "Morphable Knoppix"!) Morphix - это в основном инструмент для создания собственного Live-CD специального назначения.

Последнее, что я хочу упомянуть, это MachBoot. MachBoot - супер-быстрый Live-CD. Он использует различные методы для массового ускорения процесса загрузки. Я считаю, что они даже отслеживают порядок доступа к блокам во время загрузки, а затем пересобирают ISO, чтобы эти блоки были смежно размещены на носителе. Их текущая запись составляет менее 6 секунд для загрузки в полную графическую среду рабочего стола. Однако это также кажется устаревшим.

Ответ 4

Зависит от вашего дистрибутива. Вот хорошая статья, которую вы можете проверить из LWN.net

Есть книга, которую я использовал, которая покрывает множество дистрибутивов, хотя она не охватывает создание флэш-загрузочного образа. Книга Live Linux (R) CD: создание и настройка загрузочных файлов. Вы можете использовать его с дополнительной информацией из вашего дистрибутива по выбору.

Ответ 5

Итак, как последнее обновление для тех, кто читает это позже - инструмент, который я использовал, был "livecd-creator".

Моя причина выбора этого инструмента заключалась в том, что он доступен для дистрибутивов на основе RedHat, таких как CentOs, Fedora и RHEL, которые являются всеми дистрибутивами, которые моя компания уже поддерживает. Кроме того, хотя проект очень плохо документирован, он чрезвычайно настраиваемый. Мне удалось создать минимальный LiveCD и отредактировать последовательность загрузки, чтобы она загружалась непосредственно в обновление прошивки вместо оболочки bash.

Вся работа заняла бы час или два, если бы README объяснял конфигурационный файл!

Ответ 6

Debian Live предоставляет лучшие инструменты для создания Linux Live CD. Webconverger использует Debian Live, например.

Он очень прост в использовании.

sudo apt-get install live-helper # из Debian неустойчивый, который должен отлично работать с Ubuntu

lh_config # edit config/* по вашему вкусу

sudo lh_build