LINUX.ORG.RU

Как работает Iso файл для установки

 , , ,


0

2

Я пишу свой дистрибутив на основе LFS. Идея заключается в том, что у системы будет необычный установщик, в него можно будет отправить файл для декларативной установки или сгенерировать этот файл. Хотелось бы объединить пакетный менеджер NIX и LFS,т.е. во время установки после разметки дискового пространства, часть этого пространства использоваться для создания там раздела с временной системой, на которую будет ставится ядро, кампилятор и копироваться все файлы и скрипты (в LFS это называется хост системой), после чего система будет компилироваться на компьютере пользователя из исходного кода (т.е. сам LFS), после чего раздел с хостом будет удалятся, а основной раздел продливаться, пользователь перед компиляцией может добавить параметры к каждому пакету. В целом это должно быть, что-то вроде автоматизированного LFS с декларативной идеей как у NIX. (я уточню, что разумеется пакетный менеджер NIX будет модифицироваться для более удобного управления и все пакеты nix будут компилироваться из исходного кода)

Всё предыдущее объяснение нужно было, только для понимания чего я хочу от установщика. меня интересует как работает установщик linux в формате iso файла, я не нашел хорошего объяснения, но как я понял iso - это вид архива внутри, которого лежит универсальное упрощенное ядро, скрипт установщика, загрузчик и файлы для установки. Меня интересует где я могу взять шаблон iso файла установщика, т.е. загрузчик, ядро и пример где находятся файлы и как выглядит скрипт установки. И более четкое объяснение как работает установщик linux.


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

Так умеют многие установщики. У Red Hat, например, это называется kickstart файл. https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/installation_guide/sect-kickstart-howto

Меня интересует где я могу взять шаблон iso файла установщика, т.е. загрузчик, ядро и пример где находятся файлы и как выглядит скрипт установки.

В разных дистрибутивах разные установщики. В Ubuntu, например, кастомизации нет, там Live-образ из распакованной в памяти squashfs просто копируется на диск со всем содержимым, а затем из него удаляется лишнее. А вот в дебиане уже пакетики и всё как ты пишешь.

Например, как сделано у альтов: https://www.altlinux.org/Mkimage-profiles

Например, как сделано в дебиане: https://wiki.debian.org/PortsDocs/CreateDebianInstallerImages

Ну и так далее.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

В разных дистрибутивах разные установщики. В Ubuntu, например, кастомизации нет, там Live-образ из распакованной в памяти squashfs просто копируется на диск со всем содержимым, а затем из него удаляется лишнее. А вот в дебиане уже пакетики и всё как ты пишешь.

Ты в этом уверен? Сугубо моё мнение, что в Ubuntu точно так же всё ставится пакетами, в инсталляции виден процесс установки конкретных пакетов.

Опять же на debian-based дистрибутивов debootstrap своего рода стандартный метод.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Ubuntu desktop ставится именно так уже какое-то время. При выборе спрашивает, full install или minimum. При первом варианте просто копируется из образа, при втором - сначала копируется, потом удаляется лишнее.

Тут даже кто-то бомбил по этому поводу адовейше

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)

Всякие убунтовые установщики обыяно просто копируют rootfs как есть.
Есть и другой путь - бустрап дистрибутива пакетным менеджером. Для debian существует deboptstrap.
Как мне кажется, второй способ более корректный т.к происходит штатная установка пакетным менеджером. Основной его недостаток - требуется в устанрвочном образе иметь как установоенную загружаемую систему, так и пакеты для offline, чио конечно неэффективно по месту.
Вроде бы debian'овский установщик так делает - минимальный текстовый livecd, а сама система ставится из пакетов, но могу конечно ошибаться.
Ну и помимо El Torito нужен ещё EFI, CSM на новых системах часто отсутствует и загрузить вшитый в iso загрузочный bios-образ не выйдет.

mittorn ★★★★★
()

Я пишу свой дистрибутив…

… и по ходу пьесы ты должен решить, где находится «смерть Кащея» и нужна-ли она тебе.

Из предыдущих сказок. Iso-файл нужен для записи его на CD/DVD-болванку. Ты хотя-бы видел, что это такое? Это твоя будущая система должна уметь загрузиться с устройства (CD/DVD-привод), которого к тому времени днем с огнём не сыщешь. В остальных случаях, от исо только лишние сложности и ограничения, с которыми ты уже столкнулся.

Где взять? Берёшь любой исо-образ, тот-же упомянутый выше образ *бунту. Распаковываешь инитрд и изучаешь, как он обращается к исо-образу.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от andytux

Я поэтому здесь и пишу, я уже брал 3 образа разных систем, у всех всё по разному. Я просто надеялся, что есть шаблон, но похоже придется использовать мозг

sxfgh
() автор топика
Ответ на: комментарий от sxfgh

А с этим ситуация похоже , как с CD/DVD-приводами, днём с огнём не сыщешь. Ты ведь свою систему пишешь, что-бы было по разному.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)

но как я понял iso - это вид архива внутри, которого лежит универсальное упрощенное ядро, скрипт установщика, загрузчик и файлы для установки. Меня интересует где я могу взять шаблон iso файла установщика, т.е. загрузчик, ядро и пример где находятся файлы и как выглядит скрипт установки.

Ты не правильно понял - внутри iso может быть и не Линукс!
А шаблон берут обычно из дистрибутива, на основе которого делают свой дистрибутив. Обычно берут один из понравившихся дистрибутив и допиливают его под себя. Например, у нас на работе наше ПО работает на основе дистрибутива Slax или Porteus.
Ну и как правильно уже сказали - iso это устаревшая технология, которая была нужна при записи на оптические болванки CDROM-DVD. Сейчас это в прошлом.
Почитайте новость - https://www.opennet.ru/opennews/art.shtml?num=64020 Может вам подойдет.

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 2)

Тебя не Денисом звать? Уж больно амбициозный проект решил пилить.
По теме уже выше описали, или копируется rootfs с livecd или bootstrap с установкой пакетов.
Можешь gentoo handbook или wiki crux почитать для начала, там довольно подробно рассказано про установку системы в «ручном» режиме.

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)

Я пишу свой дистрибутив на основе LFS

Мне кажется, это будет очень смешной дистрибутив.

как я понял iso - это вид архива

Меня интересует где я могу взять шаблон iso файла установщика, т.е. загрузчик, ядро и пример

И более четкое объяснение как работает установщик linux

Это ТОЧНО будет ОЧЕНЬ своеобразный (c) (R) (tm) дистрибутив.

no-dashi-v2 ★★★★
()
Ответ на: комментарий от Aceler

В Ubuntu, например, кастомизации нет, там Live-образ из распакованной в памяти squashfs просто копируется на диск со всем содержимым, а затем из него удаляется лишнее.

серьёзно? жесть какая. никогда не любила убунту, но теперь стало больше ещё на один повод её не любить :)

Iron_Bug ★★★★★
()
Ответ на: комментарий от sxfgh

никто и не пытается. но судя по задаваемым вопросам, ты, скорее, сам фалломорфируешь в процессе и бросишь это занятие через какое-то время.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

все инсталяторы из live образов что я пробовал так неходошо поступают: debian, arch, и даже slackware, почти во всех них встречал предупреждения: что так не стоит делать (устанавливать).
зарёгся live образы для чего кроме починки-тестирования использовать. Для работы есть slax и ему подобные, для установки свои образы.

s-warus ★★★★
()
Ответ на: комментарий от s-warus

ну, гипотетически live-образ может запустить какой-нибудь кастомизированный инсталлятор из сети, например.

ну а так-то да, live-образ - это просто чтобы потыкать систему в тестовом режиме или если что-то совсем сломалось и надо пофиксить загрузку или ещё что-то такое.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)

А смысл всего этого?

Почему не взять нужную live систему со всем необходимым для сборки окружением и не собирать устанавливаемую систему в ней и копировать результат компиляции на целевой диск?

usermod
()
Ответ на: комментарий от Iron_Bug

серьёзно? жесть какая. никогда не любила убунту, но теперь стало больше ещё на один повод её не любить :)

А чем это плохо? Воспроизводимая среда, полностью готовая для работы.

usermod
()
Ответ на: комментарий от no-dashi-v2

Это ТОЧНО будет ОЧЕНЬ своеобразный (c) (R) (tm) дистрибутив.

Если точнее, его попросту не будет. Но опыт останется и он бесценен…

usermod
()
Последнее исправление: usermod (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.