LFS (Linux From Scratch) - самый популярный инструмент для создания настраиваемых дистрибутивов Linux из исходного кода. Создание собственного дистрибутива Linux может иметь некоторые преимущества (и недостатки). Среди преимуществ вы узнаете много нового о Linux, создав свой собственный дистрибутив Linux. Вы узнаете, как взаимодействуют модули Linux и как настраивать систему.
Операционный размер также является преимуществом в зависимости от ваших аппаратных ресурсов или использования, которое вы хотите дать системе. На своем сайте разработчики LFS рассказывают, что создали веб-сервер для работы с Apache размером 5 мб. Вместе с Gentoo Linux, Linux From Scratch является наиболее гибким способом настройки системы Linux. Сборка довольно проста, и процесс описывается шаг за шагом, ниже я покажу только начальные шаги, чтобы изобразить представление о сложности и ссылку на официальную документацию, показанную на этапе сборки.
Чтобы начать работу с Linux с нуля, вам необходимо сначала создать раздел (минимум 3 ГБ из-за процесса компиляции), также рекомендуется создать раздел подкачки или поделиться существующим (инструкции по разбиению на разделы см. В разделе Разбиение жестких дисков в Debian / Ubuntu и изменение размера разделов).
После создания раздела создайте переменную $ LFS, запустив:
#экспорт LFSзнак равно/мнт/lfs
Вы можете проверить это, запустив:
#выбросил $ LFS
Затем смонтируйте раздел:
# mkdir -pv $ LFS# монтировать -v -t ext3 / dev / $ LFS
Примечание: заменить на свой раздел .
Затем запустите для раздела подкачки:
#/sbin/обменять-v /разработчик/<поменять местами>Вам нужно будет загрузить пакеты в определенный каталог под названием LFS / sources, чтобы создать каталог run:
#mkdir -v $ LFS/источникиСделайте его доступным для записи и липким:
#chmod -vа + вес$ LFS/источникиЗагрузите и сохраните в каталоге все пакеты из http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/packages.html
а также
http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/patches.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 и запустите:
#Кот >~/.bash_profile<< 'EOF'Затем введите:
#exec env -я ДОМзнак равно$ HOME СРОКзнак равно$ TERM PS1знак равно' и: ш $' /являюсь/трепатьИ запускаем:
#EOFСоздать новый .bashrc запустив:
#Кот >~/.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 -Ркорень: корень$ LFS/инструментыОфициальную документацию по сборке вашего дистрибутива, подготовке ядра и базового программного обеспечения можно найти здесь . Это последовательность шагов, необходимых для создания настраиваемого дистрибутива. Шаги для подготовки файловых систем виртуального ядра , Управление пакетами , Вход в среду 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, но совсем не гибко, вы сможете добавлять программное обеспечение, настраивать фон и некоторые детали но основные настройки, такие как редакция меню приложений, не поддерживаются.
И добавить:
--арх= amd64--вариант= minbase
бионический
$ HOME/live-ubuntu-с нуля/chroot
http://us.archive.ubuntu.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 / идентификатор-машины / var / lib / dbus / идентификатор-машины
# 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 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 изображение / install / memtest86 +
# wget --progress = dot https://www.memtest86.com/downloads/memtest86-usb.zip -O image / install / memtest86-usb.zipunzip -p image / install / memtest86-usb.zip memtest86-usb. img> изображение / установка / memtest86rm изображение / установка / memtest86-usb.zip
Настроить GRUB
Выполните все следующие команды:
# cd $ HOME / live-ubuntu-с нуля# sudo mksquashfs изображение chroot / casper / filesystem.squashfs
# printf $ (sudo du -sx --block-size = 1 chroot | cut -f1)> image / casper / filesystem.size
# cd $ HOME / live-ubuntu-с нуля
# cd $ HOME / live-ubuntu-с нуля / изображение
# grub-mkstandalone --format = x86_64-efi --output = isolinux / bootx64.efi --locales = '' --fonts = '' 'boot / grub / grub.cfg = isolinux / grub.cfg'
# grub-mkstandalone --format = i386-pc --output = isolinux / core.img --install-modules = 'linux16 linux normal iso9660 biosdisk search tar ls' --modules = 'linux16 linux normal iso9660 biosdisk search' - -locales = '' --fonts = '' 'boot / grub / grub.cfg = isolinux / grub.cfg'
# cat /usr/lib/grub/i386-pc/cdboot.img isolinux / core.img> isolinux / bios.img
# sudo / bin / bash -c '(find. -type f -print0 | xargs -0 md5sum | grep -v' ./md5sum.txt '> md5sum.txt)'
# 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- таблица --eltorito-каталог загрузки / grub / boot.cat
--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' -graft-points '.' /boot/grub/bios.img=isolinux/bios.img /EFI/efiboot.img=isolinux/efiboot.img
Как видите, процесс с Ubuntu Live намного быстрее и проще, но это не более чем дистрибутив Ubuntu с небольшими настройками, в отличие от Linux From Scratch, который полностью настраивается. Я надеюсь, что вы нашли это руководство полезным, продолжайте следить за LinuxHint, чтобы получить дополнительные советы и обновления по Linux и сети.