Лучшее из Linux

Инструменты для создания собственного дистрибутива Linux

Инструменты для создания собственного дистрибутива Linux
Если вам нужно создать дистрибутив Linux, то это руководство прояснит важные вопросы, одновременно давая быстрое представление о процессах создания. Эта статья посвящена Linux From Scratch и Ubuntu Live как способам настройки дистрибутива Linux. Показанные шаги и команды предназначены не для функциональности, а для отображения уровня сложности каждого процесса. В будущем каждый процесс будет объяснен в новых обновлениях на LinuxHint.

Linux с нуля

LFS (Linux From Scratch) - самый популярный инструмент для создания настраиваемых дистрибутивов Linux из исходного кода. Создание собственного дистрибутива Linux может иметь некоторые преимущества (и недостатки тоже). Среди преимуществ вы узнаете много нового о Linux, создав свой собственный дистрибутив Linux. Вы узнаете, как взаимодействуют модули Linux и как настраивать систему.

Операционный размер также является преимуществом в зависимости от ваших аппаратных ресурсов или использования, которое вы хотите дать системе. На своем сайте разработчики LFS сообщают, что создали веб-сервер для работы с Apache размером 5 мб. Вместе с Gentoo Linux, Linux From Scratch является наиболее гибким способом настройки системы Linux. Сборка довольно проста, и процесс описывается шаг за шагом, ниже я покажу только начальные шаги, чтобы изобразить представление о сложности и ссылку на официальную документацию, показанную на этапе сборки.

Чтобы начать работу с Linux From Scratch, вам необходимо сначала создать раздел (минимум 3 ГБ из-за процесса компиляции), также рекомендуется создать раздел подкачки или поделиться существующим (инструкции по разметке см. В разделе Разбиение жестких дисков в Debian / Ubuntu и изменение размера разделов).

После создания раздела создайте переменную $ LFS, запустив:

# экспорт LFS = / mnt / lfs

Вы можете проверить это, запустив:

# echo $ LFS

Затем смонтируйте раздел:

# mkdir -pv $ LFS
# монтировать -v -t ext3 / dev / $ LFS

Примечание: заменять для вашего раздела.

Затем запустите для раздела подкачки:

# / sbin / swapon -v / dev /

Вам нужно будет загрузить пакеты в определенный каталог под названием LFS / sources, чтобы создать каталог run:

# mkdir -v $ LFS / sources

Сделайте его доступным для записи и липким:

# chmod -v a + wt $ LFS / источники

Загрузите и сохраните в каталоге все пакеты с http: // www.linuxfromscratch.org / lfs / view / 6.6 / chapter03 / packages.html

а также

http: // www.linuxfromscratch.org / lfs / view / 6.6 / chapter03 / патчи.html

Вы можете использовать список wget http: // www.linuxfromscratch.org / lfs / view / 6.6 / wget-list

Создайте каталог инструментов и символическую ссылку, запустив:

# mkdir -v $ LFS / инструменты
# ln -sv $ LFS / tools /

Выполните следующие команды, чтобы создать пользователя lfs, дающего ему права на инструменты а также источники каталоги:

# groupadd lfs
# useradd -s / bin / bash -g lfs -m -k / dev / null lfs
# passwd lfs
# chown -v lfs $ LFS / инструменты
# chown -v lfs $ LFS / источники
# su - lfs

Войдите в систему как пользователь lfs и запустите:

# cat> ~ /.bash_profile << "EOF"

Затем введите:

# exec env -i HOME = $ HOME TERM = $ TERM PS1 = '\ u: \ w \ $' / bin / bash

И запускаем:

# EOF

Создать новый .bashrc запустив:

# cat> ~ /.bashrc << "EOF"

И добавить:

# set + h
# umask 022
# LFS = / mnt / lfs
# LC_ALL = POSIX
# LFS_TGT = $ (uname -m) -lfs-linux-gnu
# ПУТЬ = / tools / bin: / bin: / usr / bin
# экспорт LFS LC_ALL LFS_TGT PATH
# EOF

Затем запустите:

# источник ~ /.bash_profile
# установить MAKEFLAGS = "- j 2"

Затем вы можете сохранить инструменты, чтобы начать сборку вашего дистрибутива Linux, следуя инструкциям на http: // www.linuxfromscratch.org / lfs / view / 6.6 / chapter05 / Introduction.html

После завершения измените владельца каталога инструментов, запустив:

# chown -R root: root $ LFS / tools

Официальную документацию по сборке вашего дистрибутива, подготовке ядра и базового ПО можно найти здесь. Это последовательность шагов, необходимых для создания настраиваемого дистрибутива. Шаги заключаются в подготовке файловых систем виртуального ядра, управлении пакетами, входе в среду Chroot, создании каталогов, создании основных файлов и символической ссылкиs, установка дополнительного программного обеспечения, указанного здесь. Снова зачистка и очистка.

Чтобы начать настройку системы, посетите разделы:

  • LFS-Bootscripts-20100124
  • Как работают эти загрузочные скрипты?
  • Настройка скрипта setclock
  • Настройка консоли Linux
  • Настройка скрипта sysklogd
  • Создание файла / etc / inputrc
  • Файлы запуска оболочки Bash
  • Работа с устройствами и модулями в системе LFS
  • Создание настраиваемых символических ссылок на устройства
  • Настройка сценария локальной сети
  • Настройка файла / etc / hosts
  • Настройка сетевого скрипта
    Создание файла / etc / fstab
  • Linux-2.6.32.8

Наконец, установите GRUB с помощью GRUB для настройки процесса загрузки и следуйте инструкциям перед перезагрузкой в ​​первый раз

Ubuntu Live


Создать настраиваемый Linux на основе Ubuntu довольно просто, это можно сделать очень быстро, это чрезвычайно просто по сравнению с Linux From Scratch, но совсем не гибко, вы сможете добавлять программное обеспечение, настраивать фон и некоторые детали но основные настройки, такие как редакция меню приложений, не поддерживаются.

# sudo debootstrap

И добавить:

--arch = amd64
--вариант = minbase
бионический
$ HOME / live-ubuntu-с нуля / chroot

http: // нас.архив.убунту.com / ubuntu /

Установите точки монтирования:

# sudo mount --bind / dev $ HOME / live-ubuntu-с нуля / chroot / dev
# sudo mount --bind / run $ HOME / live-ubuntu-from-scratch / chroot / run
# sudo chroot $ HOME / live-ubuntu-с нуля / chroot
# монтировать none -t proc / proc
# монтировать none -t sysfs / sys
# монтировать none -t devpts / dev / pts
# экспорт HOME = / root
# экспорт LC_ALL = C
# echo "ubuntu-fs-live"> / etc / hostname

Затем вам нужно обновить репозитории и запустить apt update и следующую команду:

# apt-get install -y systemd-sysv
# dbus-uuidgen> / etc / id-машины
# ln -fs / etc / id-машины / var / lib / dbus / id-машины
# dpkg-divert --local --rename --add / sbin / initctl
# ln -s / bin / true / sbin / initctl
# apt-get install -y ubuntu-standard casper lupine-casper обнаружение ноутбука-обнаружение os-prober network-manager resolvconf net-tools wireless-tools wpagui locales linux-generic

При запросе экранов конфигурации, таких как пресс GRUB ВХОДИТЬ к вариантам по умолчанию, чтобы продолжить. Затем запустите:

# apt-get install -y ubiquity ubiquity-casper ubiquity-frontend-gtk ubiquity-slideshow-ubuntu ubiquity-ubuntu-artwork

Установите любой оконный менеджер X, который хотите:

# apt-get install -y plymouth-theme-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-wallpapers

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

# apt-get update
# apt-get install -y код

Выберите свои локали и перенастройте resolv.conf и сетевой менеджер:

# dpkg-reconfigure locales
# dpkg-reconfigure resolv.conf
# dpkg-reconfigure network-manager

Затем запустите:

# truncate -s 0 / etc / id-машины
# rm / sbin / initctl
# apt-get clean
# rm -rf / tmp / * ~ /.bash_history

Размонтируйте все файловые системы:

# umount / proc
# umount / sys
# umount / dev / pts
# экспорт HISTSIZE = 0exit
# sudo umount $ HOME / live-ubuntu-с нуля / chroot / dev
# sudo umount $ HOME / live-ubuntu-с нуля / chroot / run

Создайте каталоги и скопируйте ядро ​​и двоичные файлы:

# cd $ HOME / live-ubuntu-с нуля
# mkdir -p image / casper, isolinux, install
# sudo cp chroot / boot / vmlinuz - ** - ** - общий образ / casper / vmlinuz
# sudo cp chroot / boot / initrd.img - ** - ** - общий образ / casper / initrd
# sudo cp chroot / boot / memtest86+.bin изображение / установка / memtest86+
# wget --progress = точка https: // www.memtest86.com / загрузки / memtest86-usb.zip -O образ / установка / memtest86-usb.zipunzip -p изображение / установка / memtest86-usb.почтовый индекс memtest86-usb.img> изображение / установка / memtest86rm изображение / установка / memtest86-usb.застегивать

Настроить GRUB

Выполните все следующие команды:

# cd $ HOME / live-ubuntu-с нуля
# sudo mksquashfs chroot image / casper / filesystem.сквош
# printf $ (sudo du -sx --block-size = 1 chroot | cut -f1)> image / casper / filesystem.размер
# cd $ HOME / live-ubuntu-с нуля
# cd $ HOME / live-ubuntu-с нуля / изображение
# grub-mkstandalone --format = x86_64-efi --output = isolinux / bootx64.efi --locales = "" --fonts = "" "boot / grub / grub.cfg = изолинукс / личинка.cfg "
# grub-mkstandalone --format = i386-pc --output = isolinux / core.img --install-modules = "linux16 linux normal iso9660 biosdisk memdisk search tar ls" --modules = "linux16 linux normal iso9660 biosdisk search" --locales = "" --fonts = "" "boot / grub / grub.cfg = изолинукс / личинка.cfg "
# кошка / usr / lib / grub / i386-pc / cdboot.img изолинукс / ядро.img> изолинукс / биос.img
# sudo / bin / bash -c "(найти . -тип f -print0 | xargs -0 md5sum | grep -v "./ md5sum.txt "> md5sum.текст)"
# sudo xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames -volid ""-Eltorito-boot boot / grub / bios".img -no-emul-boot -boot-load-size 4 -boot-info-table --eltorito-каталог загрузки / grub / boot.Кот
--grub2-boot-info --grub2-mbr / usr / lib / grub / i386-pc / boot_hybrid.img -eltorito-alt-boot -e EFI / efiboot.img -no-emul-boot -append_partition 2 0xef isolinux / efiboot.img -output "… /.iso "точки прививки"."/ boot / grub / bios.img = изолинукс / биос.img / EFI / efiboot.img = изолинукс / efiboot.img

Как видите, процесс с Ubuntu Live намного быстрее и проще, но это не более чем дистрибутив Ubuntu с небольшими настройками, в отличие от Linux From Scratch, который полностью настраивается. Я надеюсь, что вы нашли это руководство полезным, продолжайте следить за LinuxHint, чтобы получить дополнительные советы и обновления по Linux и сети.

Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...
Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...