Создание своего установщика linux

# Создание установщика в Linux

В то время как вам не нужна чистая установка macOS чтобы использовать OpenCore, некоторые пользователи предпочитают иметь свежую версию ОС с обновлением их Boot Manager.

Чтобы начать, вам нужно:

# Скачивание macOS

(opens new window) и запустите одну из следующих команд:

Далее, запустите одну из следующих команд, в зависимости от того, какую ОС вы хотите загружать:

Начиная отсюда, выполните одну из этих команд в терминале и, когда вы закончите, вы получите результат, похожий на этот:

Примечание: В зависимости от ОС, вы получите BaseSystem или RecoveryImage файлы. Они оба действуют одинаково, поэтому, когда мы ссылаемся на BaseSystem, та же информация относит и к RecoveryImage

Примечание к macOS 11, Big Sur: Так как эта ОС совершенна новая, есть некоторые проблемы с определенными системами, которые нужно решить. Для получения дополнительной информации, смотрите здесь: OpenCore и macOS 11: Big Sur

  • Для начинающих пользователей, мы рекомендуем macOS 10.15, Catalina

Примечание к GPU Nvidia: напоминание о том, чтобы проверить, поддерживает ли ваше оборудование новые ОС, смотрите Аппаратные ограничения

# Создание установщика

Этот раздел предназначен для создания необходимых разделов на USB накопителе. Вы можете использовать свою любимую программу, будь то gdisk , fdisk , parted , gparted или gnome-disks . Это руководство будет сосредоточено на gdisk , поскольку он приятен и может изменить тип раздела позже, так как это нам надо, чтобы macOS Recovery HD смог загрузиться. (дистрибутив используемый здесь — Ubuntu 18.04, другие версии или дистрибутивы тоже могут работать)

(opens new window) , которое является основой для этого.

# Метод 1

  1. запустите lsblk и определите блок вашего USB накопителя
  2. запустите sudo gdisk /dev/
    1. если вас спросят, какую таблицу разделов использовать, выберите GPT.
    2. отправьте p чтобы показать your разделы вашего блока (и убедитесь, что это именно тот, который нужен)
    3. отправьте o чтобы очистить таблицу разделов и создать новый GPT (если он не пустой)
      1. подтвердите с помощью y
    4. отправьте n
      1. partition number : оставьте пустым по умолчанию
      2. first sector : оставьте пустым по умолчанию
      3. last sector : оставить пустым для всего диска
      4. Hex code or GUID : 0700 для типа раздела Microsoft basic data
    5. отправьте w
      • подтвердите с помощью y
      • В некоторых случаях потребуется перезагрузка, но это редко, если вы хотите быть уверены, перезагрузите компьютер. Вы также можете попробовать переподключить ваш USB накопитель.
    6. закройте gdisk , отправив q (обычно он должен сам закрываться)
  3. используйте lsblk для определения идентификаторов вашего раздела
  4. запустите sudo mkfs.vfat -F 32 -n «OPENCORE» /dev/ , чтобы отформатировать ваш USB накопитель в FAT32 и назвать OPENCORE
  5. затем cd в /OpenCore/Utilities/macrecovery/ и вы должны попасть к .dmg и .chunklist файлам
    1. смонтируйте ваш USB раздел с помощью udisksctl ( udisksctl mount -b /dev/ , sudo не требуется в большинстве случаев) или с помощью mount ( sudo mount /dev/ /где/ваш/смонтированный/стафф , требуется sudo)
    2. cd в USB накопитель и mkdir com.apple.recovery.boot в корне вашего USB FAT32 раздела
    3. теперь cp или rsync как BaseSystem.dmg , так и BaseSystem.chunklist в папку com.apple.recovery.boot .
Читайте также:  Драйвер для клавиатуры windows 10 64 bit

# Метод 2 (в случае, если метод 1 не работает)

  1. запустите lsblk и определите блок вашего USB накопителя
  2. запустите sudo gdisk /dev/
    1. если вас спросят, какую таблицу разделов использовать, выберите GPT.
    2. отправьте p чтобы показать your разделы вашего блока (и убедитесь, что это именно тот, который нужен)
    3. отправьте o чтобы очистить таблицу разделов и создать новый GPT (если он не пустой)
      1. подтвердите с помощью y
    4. отправьте n
      1. partition number: оставьте пустым по умолчанию
      2. first sector: оставьте пустым по умолчанию
      3. last sector: +200M чтобы создать 200Мб раздел, который позже будет назван OPENCORE
      4. Hex code or GUID: 0700 для типа раздела Microsoft basic data
    5. отправьте n
      1. partition number: оставьте пустым по умолчанию
      2. first sector: оставьте пустым по умолчанию
      3. last sector: оставьте пустым по умолчанию (или вы можете сделать его +3G , если вы хотите разделить остальную часть USB)
      4. Hex code or GUID: af00 для типа раздела Apple HFS/HFS+
    6. отправьте w
      • подтвердите с помощью y
      • В некоторых случаях потребуется перезагрузка, но это редко, если вы хотите быть уверены, перезагрузите компьютер. Вы также можете попробовать переподключить свой USB накопитель.
    7. закройте gdisk , отправив q (обычно он должен сам закрываться)
  3. Используйте lsblk снова для определения 200Мб и других разделов
  4. запустите sudo mkfs.vfat -F 32 -n «OPENCORE» /dev/ , чтобы отформатировать 200Мб раздел в FAT32 и назвать OPENCORE
  5. затем cd в /OpenCore/Utilities/macrecovery/ и вы должны попасть к .dmg и .chunklist файлам
    1. смонтируйте ваш USB раздел с помощью udisksctl ( udisksctl mount -b /dev/ , sudo не требуется в большинстве случаев) или с помощью mount ( sudo mount /dev/ /где/ваш/смонтированный/стафф , требуется sudo)
    2. cd в USB накопитель и mkdir com.apple.recovery.boot в корне вашего USB FAT32 раздела
    3. загрузите dmg2img (доступно на большинстве дистрибутивов)
    4. запустите dmg2img -l BaseSystem.dmg и определите, какой раздел имеет свойство disk image
    5. запустите dmg2img -p -i BaseSystem.dmg -o для извлечения и записи образа восстановления на диск раздела
      • Это займет некоторое время. МНОГО, если вы используете медленный USB.

Источник

Собственный дистрибутив на базе Debian Linux

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

Для начала нам надо установить эталонную систему. Берем с сайта debian.org дистрибутив. Например NetInstall. Скачиваем и устанавливаем на машину(или на виртуальную машину, кому как удобнее). Например я ставлю базовую систему, а затем все устанавливаю руками.

Итак. Система установлена. Устанавливаем требуемые пакеты.

apt-get install gnome gdm openoffice.org xfonts-base xorg xserver-xorg

После устанавливаем пакет «apt-move»
открываем настройки /etc/apt-move.conf и указываем в пункте LOCALDIR путь до того места, где у нас будет храниться будущий дистрибутив. У меня путь был указан в /home/debian. Сохраняем конфиг и выполняем команду apt-move update

Читайте также:  Windows gcc undefined reference to

По указанному выше пути(/home/debian/distrib) появился каталог pool. В нем будут лежать пакеты, которые в итоге окажутся на диске.

Монтируем CD(в нем ведь все еще есть диск Debian NETINSTALL) и копируем все, что на нем есть в каталог /home/debian/distrib.
Скачиваем с серверов debian.org файлы override. . Я например брал с ftp.fr.debian.org/debian/indices. Версия текущего дистрибутива etch, поэтому и скачиваем файлы, с названиями override.etch.*
Разархивируем gunzip’ом и кладем например в /home/debian/indices
В каталоге /home/debian создаем файл с именем apt.conf и заполняем его текстом по примеру с wiki.debian.org/DebianCustomCD/PoolAptConf. В этом-же каталоге создаем файл с названием дистрибутива (например mycd.conf) и заполнем его по примеру с wiki.debian.org/DebianCustomCD/PoolPackagesGzConf
Запускаем apt-ftparchive -c apt.conf generate mycd.conf
Ну а теперь самое главное. в каталоге /home/debian/distrib/install.i386 создаем файл preseed.conf
В него вписываем инструкции для инсталлятора Debian.

Пример заполнения файла preseed.conf
#заставляем инсталлер автоматически выбирать интерфейс
d-i netcfg/choose_interface select auto

#или выбираем конкретный
#d-i netcfg/choose_interface select eth1

# устанавливаем таймаут для DHCP(в данном случае, если у вас DHCP сервер медленный)
d-i netcfg/dhcp_timeout string 100

#если по DHCP ничего не получили, выводим опцию с возможностью указать настройки сети руками
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually

#название хостнейма данной машины и домена
d-i netcfg/get_hostname string office
d-i netcfg/get_domain string local

# Установка часов
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow

#Устанавливаем базовую систему
tasksel tasksel/first multiselect standard

#возможны разные варианты 🙂
#tasksel tasksel/first multiselect standard, web-server
#tasksel tasksel/first multiselect standard, kde-desktop

# Ну и индивидуальныем пакеты
d-i pkgsel/include string ssh xorg xserver-xorg gdm gnome openoffice.org xfonts-base xfonts-100dpi xfonts-75dpi xfonts-encodings xfonts-scalable xfonts-utils

# Показываем сообщение о предстоящем ребуте
d-i finish-install/reboot_in_progress note

Сохраняем этот файл и открываем для редактирования isolinux/isolinux.cfg
в нем дописываем
LABEL installseed
kernel /install.386/vmlinuz
append vga=normal file=/cdrom/install.386/preseed.cfg initrd=/install.386/initrd.gz —

выходим в директорию /home/debian/distrib
выполняем команду
find . -type f -print0 | xargs —null md5sum > md5sum.txt
и собственно начинаем процесс создания ISO образа:
genisoimage -r -V «Debian 4.0 r4a i386 custom» -o /home/debian/debiancustom_40.iso -J -cache-inodes -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /home/debian/distrib

После того, как программа закончит работу, в /home/debian/ можно будет найти .iso файл с нашим кастомным дистрибутивом. Теперь его или пишем на болванку или ставим на виртуальную машину.

Источник

Как сделать инсталятор ОС Linux?

Здравствуйте! Как сделать инсталятор ОС Linux?

А уроки ты уже сделал?

У всех дистрибутивов Linux есть свой «инсталлятор», за исключением правда Gentoo, LFS, Arch Linux.

Следуй традициям gentoo и crux — инсталятор не нужен.

или может тебя что-то вроде live-cd/dvd/usb интересует?

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

Читайте также:  Lara croft windows 10

Здравствуй, юный падаван. Рано тебе вопросы задавать такие. Ознакомься сперва с документом этим. И да пребудет с тобой Сила.

У всех дистрибутивов Linux есть свой «инсталлятор», за исключением правда Gentoo, LFS, Arch Linux.

Инсталлятор Арча — это пользователь. 😛 The best bug-free code is no code!

за исключением правда Gentoo, LFS, Arch Linux.

ну врать то не надо, там тоже он есть, но только находится между стулом и монитором.

А для чего тебе делать новый? Используй дистрибутив с установщиком.

дело дениски живёт и здравствует

Хочу установить свою собственную сборку. Есть варианты самому собрать этот инсталлятор?

сборку на основе чего?Для каких целей ты её делаешь?ОТ этого будет зависеть,что и как тебе собирать.

ладно б дениски, главное что бы не Бабушкина.

Вот-вот. Уже ближе)

А у Gentoo или LFS по твоему не так?

читай LFS
пиши shell-скрипт

А у Gentoo или LFS по твоему не так?

Странный вывод из моей фразы.

можно написать скрипт на… на чём угодно

Ну а зачем тогда выделаешь Arch Linux из представленных 3-х дистрибутивов?

Просто я им пользуюсь. ^^

как вариант руками

прими мои соболезнования xD

Здравствуйте! Как сделать инсталятор ОС Linux?

Дружище, это вопрос из серии «как самому сделать автомобиль» или «как освоить иностранный язык». Они вроде простые, но полный ответ на него займёт несколько лет обучения и практики. А короткий ответ будет бессмысленным тролингом.

Сначала изучи Линукс. Не как пользователь, как разработчик. Начни например с Linux From Scratches. Овладей языком консоли, bash, разберись в архитектуре ОС и компьютеров, чтобы процесс освоения не превращался в тупой copy\past. Ты должен выяснить смысл каждого твоего действия и понять принципы и необходимость наличия каждого устанавливаемого тобою программного пакета до полной прозрачности.

Параллельно изучай программирование вообще, конкретно язык C и скриптовые языки, python например. И в какой то момент всё станет понятно.

Да. Можно написать на том же bash с использованием какого-нибудь dialog. Посмотри исходники такового, например, в slackware(хотя там sh).

Или, например, установщик Archbang. Да куча уже понаписана. Бери, пили под свои нужды и да пребудет с тобой сила.

Вот и смотри. А как бы ты сделал всё вышеперечисленное в консоли?

Для создания live-cd можно существующую linux-систему запаковать в squashfs. Отдельно положить ядро и initrd. Добавить загрузчик(допустим, syslinux). И полученный результат сделать iso-образом.

Для ручной разметки можно вызвать gparted(если в live-cd есть гуй), или тот же cfdisk + создание файловых систем через mk_нужной_фс.

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

Дальше копирование нужных тебе компонентов на целевую систему(допустим).

И установка загрузчика.

1
2
3
Дальше сам включай мозг, пиши скрипты для тех действий, которые тебе нужны.

Источник

Оцените статью