Как собрать свой Linux дистрибутив с grub?

Ссылка скопирована
1 ответ

Я хотел собрать 'минимальную' сборку линукса по туториалу , но есть одна проблема - получается на выходе файл .img, а мне нужен .iso. Потом хотел собрать grub, из которого бы я сделал iso и который бы загружал саму систему уже из исходников образа, но не нашёл хороших гайдов как 'слепить' груб с системой. Как можно это реализовать? Заранее спасибо.

Дополнительно:

Ну вот ещё туториал:
https://habr.com/ru/articles/709528/

А вообще адекватный туториал вот:
https://linuxfromscratch.ru/

А если честно, чем не угодили alpine, arch, artix, gentoo?

получается на выходе файл .img

Со слепком root-fs получившейся ОС? Тогда достаточно флешки форматированной в fat32, заливаете этот образ туда и делаете туда же grub-install с монтированием этого образа.

  • Спасибо, как раз то что нужно. Насчёт ОС - я хотел сделать iso для того, чтобы:
    1. не пришлось каждый раз форматировать флешку (я буду часто менять что-то в системе)
    2. VirtualBox загружается только с исо (решение есть - преобразовать img в vdi)
    3. (Вытекает из решения второго) неудобство, так как на реальном устройстве это займёт больше времени, и для обычного пользователя будет сложен.
  • А насчёт gentoo, arch и т.д. - хотелось что-нибудь собрать лёгкое (в плане производительности), почти с нуля.
  • 1. не пришлось каждый раз форматировать флешку (я буду часто менять что-то в системе)

    ZailoxTwink, если нужно часто перезаливать iso, то попробуйте https://ventoy.net/en/index.html
    Так же в случае liveusb можно просто перезаписывать туда .img, который монтирует grub.
    Ну и в конце концов, флешку тоже можно разбить на партиции - маленькая партиция под efi в fat32 и всё остальное в ext4/btrfs и прямо туда залить root ОС (в grub тогда прописываем монтирование этой партиции по UUID, а сам grub ставим в fat32 партицию)

    2. VirtualBox загружается только с исо (решение есть - преобразовать img в vdi)

    VirtualBox - примитивная игрушка для новичков. Если хост тоже линь, то ставим kvm (гипервизор, модуль ядра, возможно уже установлен с VirtualBox), qemu - собственно сама тулза для виртуализации, virt-manager - GUI для всего этого. Возможности тут гораздо шире, в том числе можно грузится с img и ядра расположенного на хосте.

  • А насчёт gentoo, arch и т.д. - хотелось что-нибудь собрать лёгкое (в плане производительности), почти с нуля

    Zailox, у gentoo по дефолту все из исходников (хотя любое обновление выливается в компиляцию, что долго, зато всё можно подтюнить под себя).
    Для минимального арча достаточно ядра, systemd и базовых утилит (по сути busybox + pacman).
    Артикс - тот же арч, только вместо systemd на выбор 4 других init.
    Алпайн - без учёта ядра вообще весит 8МБ в базовой поставке.
    Есть ещё воид (Void) - не пробовал, но там основная фишка возможность заменить glibc на musl, который статически линкуется (работает быстрее, но жрёт больше оперативы, ибо код не переиспользуется).

    Из всех перечисленных systemd только в арче, если он для Ваших задач слишком тяжелый.

  • ZailoxTwink, аккурат неправильно :)
    образ формата ISO 9660 создавался для оптических дисков.
    если сделаешь загружаемый образ то его вполне можно записать на флешку.
  • Дмитрий Беляев, Я сначала сгружался с помощью qemu, но iso более удобный, можно и на любую виртуалку поставить, и на флешку записать. Насчёт gentoo и т.д. - я попробую сделать что-нибудь на их основе, всё же добавлять абсолютно всё, кроме cd - долго.
  • pfg21, проблема не в записи на флешку, мне попросту удобно тестировать на virtualbox. Стоял бы у меня линукс - я бы закрыл на это глаза.
  • Zailox, ну блин так бы и говорил в запросе...

    у тебя все получилось там же писано

    10. Выполняем установку загрузчика MBR в начало диска внутри файла boot-disk.im.
    $ dd if=/usr/lib/syslinux/mbr/mbr.bin of=boot-disk.img bs=440 count=1 conv=notrunc
    Файл boot-disk.img будет содержать загрузочный образ флеш-накопителя

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

  • pfg21, я уже сгружался, используя img как диск, но в будущем предпоглогается установка системы (сначала кидает в лайвбут систему, а из под неё ты можешь как в lubuntu установить систему) + ventoy - также работает только с iso, вообщем, уже нет смысла заморачиваться, проблема решена.
  • Zailox, дык вентой аккурат умеет img :) да и еще кучу образов до кучи.
    т.е. если подкинешь на флешку к вентою правильный img он должен его загрузить (п.с. не пробовал)
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Для создания собственного Linux дистрибутива с grub, вам потребуется выполнить несколько шагов:

1. **Выбор базового дистрибутива**: Первым шагом будет выбор базового дистрибутива Linux, который вы хотите использовать в качестве основы для своего собственного дистрибутива. Некоторые из популярных вариантов включают Debian, Ubuntu, Arch Linux и другие.

2. **Настройка ядра Linux**: После выбора базового дистрибутива вам потребуется настроить ядро Linux с учетом ваших потребностей. Вы можете скомпилировать ядро с определенными параметрами и драйверами, которые вам необходимы для вашего дистрибутива.

3. **Настройка init-системы**: Вы также можете выбрать и настроить init-систему (например, systemd или SysVinit) для вашего дистрибутива. Вы можете настроить различные службы и скрипты, которые будут запускаться при загрузке системы.

4. **Установка и настройка grub**: После того как вы настроили базовый дистрибутив, ядро Linux и init-систему, вам потребуется установить и настроить загрузчик grub. Для этого вам нужно установить пакет grub на вашей системе и настроить конфигурационные файлы для загрузки ядра и initrd.

Пример настройки grub с использованием языка программирования PHP:

sudo apt-get install grub
sudo grub-install /dev/sda
sudo update-grub

sudo apt-get install grub sudo grub-install /dev/sda sudo update-grub

5. **Сборка образа дистрибутива**: После всех настроек вы можете собрать образ вашего собственного дистрибутива Linux с grub. Для этого вы можете использовать утилиты, такие как mkisofs или dd, чтобы создать ISO-образ вашей системы.

После выполнения всех этих шагов, вы сможете запустить свой собственный Linux дистрибутив с grub и настроить его по своему усмотрению. Будьте готовы к тому, что этот процесс может занять некоторое время и потребует навыков работы с Linux и конфигурацией системы.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно