Мне на работе часто приходится решать задачу — накидать какую-то инфу на CD/DVD (далее — просто CD) с тем, чтобы потом можно было скинуть её где-нибудь в другом городе, где найти комп с Win проблема, не говоря уже о том, чтобы была нормальная ОС.
Так что поневоле приходится смотреть, как и где делаются загрузочные CD. В принципе, есть проприетарные программы, но речь тут не о них.
Допустим, мне надо перенеси небольшую «кучку» RPM с одного места на другое, и я хочу, чтобы носителем этой «кучки» был небольшой дистрибутив Linux (желательно последнее ядро и интерфейс покрасивее, чтобы на меня смотрели не с сожалением, а с изумлением :) ).
1 – Поскольку это загрузочный диск, то на нём должен находится загрузчик, умеющий работать с isofs (iso9660).
Из тех, что на слуху – это или grub или syslinux
(Опции – см man mkisofd)
2 – Сформированный «контейнер» пакетов – собственно то, что будет являться тем дистрибутивом, который расположена на Live CD?
В последнее время эту среду упаковывают в какую-нибудь специфическую файловую систему – это на ваш выбор.
3 – То, что видно пользователю при открытии диска.
Если говорить образно, то первый и второй пункт это тот «корабль», который может иметь на своему борту пассажиров.
А третий пункт – это то, что нужно увидеть пользователю для текущей работы (дистрибутив установки, сырцы и т.п.)
Работа Live CD? аналогична работе обычной работе с жесткого диска, но отличается всем понятыми отличаями :
– Нет возможности изменять файлы на самом CD поэтому приходится размещать корень файловой системы в памяти (одна из причин упаковки в специфичискую файловую систему).
– Live CD? должен уметь определять аппаратуру компьютера на который он загружен и подгружать необходимые модули.
– В частности Live CD? должен уметь находить разделы жёсткого диска компьютера и внешние носители информации (флеш-память, флоппи-диски и т.п.)
– Желательна возможность догружать «редко встречающиеся» и специфичные модули ядра (cups и т.п.) не учтеные при создании Live CD?.
1 загрузка ядра и его модулей из initrd (ещё одна упакованная файловая система с «драйверами»).
2 распаковка модулей ядра из Мandrake arhiv (mar) – исторически идёт от Мандрейка.
3 монтирование специфического файлового образа и создание корня в памяти компьютера.
4 монтирование остальных файловых систем (в том числе некоторых то-же в памяти)
В остальном всё аналогично обычной или сетевой загрузке.