LFS (Linux From Scratch) to najpopularniejsze narzędzie do tworzenia niestandardowych dystrybucji Linuksa ze źródeł. Tworzenie własnej dystrybucji Linuksa może mieć pewne zalety (i także wady). Wśród zalet o Linuksie wiele się nauczysz, tworząc własną dystrybucję Linuksa. Dowiesz się, jak współdziałają moduły Linux i jak dostosować system.
Rozmiar operacyjny jest również zaletą w zależności od zasobów sprzętowych lub przeznaczenia, jakie chcesz nadać systemowi. Na swojej stronie programiści LFS twierdzą, że stworzyli serwer WWW do pracy z Apache o rozmiarze 5 mb. Wraz z Gentoo Linux, Linux From Scratch jest najbardziej elastycznym sposobem konfiguracji systemu Linux. Budowanie jest dość proste, a proces jest opisany krok po kroku, poniżej pokażę tylko wstępne kroki, aby zobrazować ideę trudności oraz link do oficjalnej dokumentacji pokazującej się z etapu budowy.
Aby rozpocząć pracę z Linux From Scratch, musisz najpierw utworzyć partycję (co najmniej 3 GB ze względu na proces kompilacji), zaleca się również utworzenie partycji wymiany lub udostępnienie istniejącej (instrukcje dotyczące partycjonowania znajdziesz w sekcji Partycjonowanie dysków twardych w Debianie/ Ubuntu i zmiana rozmiaru partycji ).
Po utworzeniu partycji utwórz zmienną $LFS, uruchamiając:
#eksport LFS=/mnt/lfs
Możesz to sprawdzić, uruchamiając:
#wyrzucił $LFS
Następnie zamontuj partycję:
# mkdir -pv $LFS# mount -v -t ext3 /dev/ $LFS
Notatka: wymień na partycję .
Następnie uruchom dla partycji wymiany:
#/sbin/zamiana-v /dev/<zamieniać>Będziesz musiał pobrać pakiety do określonego katalogu o nazwie LFS/sources, aby utworzyć uruchomienie katalogu:
#mkdir -v $LFS/źródłaSpraw, aby był zapisywalny i lepki:
#chmod -va+wt$LFS/źródłaPobierz i zapisz w katalogu wszystkie pakiety z http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/packages.html
oraz
http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/patches.html
Możesz użyć listy wget http://www.linuxfromscratch.org/lfs/view/6.6/wget-list
Utwórz katalog narzędzi i dowiązanie symboliczne, uruchamiając:
# mkdir -v $LFS/narzędzia# ln -sv $LFS/narzędzia /
Uruchom następujące polecenia, aby utworzyć użytkownika lfs, nadając mu uprawnienia na narzędzia oraz źródła katalogi:
# groupadd lfs# useradd -s /bin/bash -g lfs -m -k /dev/null lfs
# hasło lfs
# chown -v lfs $LFS/narzędzia
# chown -v lfs $LFS/źródła
# su - lfs
Zaloguj się jako użytkownik lfs i uruchom:
#Kot >~/.bash_profil<< „EOF”Następnie wpisz:
#exec zazdrościć -i DOM=$HOME SEMESTR=$TERM PS1='u:w$ ' /jestem/grzmotnąćI biegnij:
#EOFStwórz nowy .bashrc biegiem:
#Kot >~/.bashrc<< „EOF”I dodaj:
# zestaw +h# umaska 022
# LFS=/mnt/lfs
# LC_ALL=POSIX
# LFS_TGT=$(uname -m)-lfs-linux-gnu
# PATH=/tools/bin:/bin:/usr/bin
# eksportuj LFS LC_ALL LFS_TGT PATH
# EOF
Następnie uruchomić:
# źródło ~/.bash_profile# ustaw MAKEFLAGS='-j 2'
Następnie możesz zapisać narzędzia, aby zacząć budować swoją dystrybucję linuksa, postępując zgodnie z instrukcjami w http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/introduction.html
Po zakończeniu zmień właściciela katalogu narzędzi, uruchamiając:
#chown -Rkorzeń:korzeń$LFS/narzędziaOficjalną dokumentację dotyczącą budowania dystrybucji, przygotowania jądra i oprogramowania bazowego można znaleźć tutaj . Jest to sekwencja kroków potrzebnych do stworzenia dostosowanej dystrybucji. Kroki są przygotować wirtualne systemy plików jądra , Zarządzanie pakietami , Wejście do środowiska chroot , Tworzenie katalogów , Tworzenie niezbędnych plików i symlink s, instalowanie dodatkowego oprogramowania na liście tutaj Znowu rozbiórki oraz Sprzątanie .
Aby rozpocząć dostosowywanie systemu, przejdź do rozdziałów:
- LFS-Skrypty startowe-20100124
- Jak działają te skrypty startowe?
- Konfiguracja skryptu setclock
- Konfiguracja konsoli Linux
- Konfiguracja skryptu syslogd
- Tworzenie pliku /etc/inputrc
- Pliki startowe powłoki Bash
- Obsługa urządzeń i modułów w systemie LFS
- Tworzenie niestandardowych dowiązań symbolicznych do urządzeń
- Konfiguracja skryptu lokalnego
- Dostosowywanie pliku /etc/hosts
- Konfiguracja skryptu sieciowego
Tworzenie pliku /etc/fstab - Linux-2.6.32.8
Na koniec zainstaluj GRUB Używanie GRUB do konfiguracji procesu rozruchu i podążaj za kroki przed ponownym uruchomieniem po raz pierwszy
Ubuntu na żywo
Tworzenie dostosowanego Linuksa opartego na Ubuntu jest dość łatwe, można to zrobić bardzo szybko, jest niezwykle proste w porównaniu z Linux From Scratch, ale nie jest wcale elastyczne, będziesz mógł dodać oprogramowanie, dostosować tło i niektóre szczegóły ale podstawowe dostosowania, takie jak edycja menu aplikacji, nie są obsługiwane.
I dodaj:
--łuk= amd64--wariant=minbase
bioniczny
$HOME/live-ubuntu-od-scratch/chroot
http://us.archive.ubuntu.com/ubuntu/
Ustaw punkty montowania:
# sudo mount --bind /dev $HOME/live-ubuntu-from-scratch/chroot/dev# sudo mount --bind /run $HOME/live-ubuntu-from-scratch/chroot/run
# sudo chroot $HOME/live-ubuntu-od-scratch/chroot
# mount none -t proc /proc
# mount none -t sysfs /sys
# mount none -t devpts /dev/pts
# eksportuj HOME=/root
# eksportuj LC_ALL=C
# echo 'ubuntu-fs-live' > /etc/nazwa hosta
Następnie musisz zaktualizować repozytoria i uruchomić apt update oraz następujące polecenie:
# apt-get install -y systemd-sysv# dbus-uuidgen > /etc/id-maszyny
# ln -fs /etc/id-maszyny /var/lib/dbus/id-maszyny
# dpkg-divert --local --rename --add /sbin/initctl
# ln -s /bin/true /sbin/initctl
# apt-get install -y ubuntu-standard casper lupin-casper odkryj laptop-detect os-prober network-manager resolvconf net-tools wireless-tools wpagui locales linux-generic
Podczas monitowania ekranów konfiguracyjnych, takich jak prasa GRUB WEJŚĆ do domyślnych wyborów, aby kontynuować. Następnie uruchomić:
#apt-get install-y ubiquity ubiquity-casper ubiquity-frontend-gtk ubiquity-pokaz slajdów-ubuntu ubiquity-ubuntu-grafikaZainstaluj dowolny menedżer okien X, który chcesz:
#apt-get install-y plymouth-motyw-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-tapetyDodaj dowolne dodatkowe oprogramowanie, które chcesz w swojej dystrybucji, a następnie uruchom:
# apt-pobierz aktualizację# apt-get install -y kod
Wybierz ustawienia regionalne i ponownie skonfiguruj resolv.conf i menedżera sieci:
# dpkg-reconfigure locales# dpkg-reconfigure resolv.conf
# dpkg-reconfigure network-manager
Następnie uruchomić:
# truncate -s 0 /etc/id-maszyny# rm /sbin/initctl
# apt-get clean
# rm -rf /tmp/* ~/.bash_history
Odmontuj wszystkie systemy plików:
# odmontuj / proc# odmontuj /sys
# odmontuj /dev/pts
# export HITSIZE=0exit
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/run
Utwórz katalogi i skopiuj jądro i pliki binarne:
# cd $HOME/live-ubuntu-od-scratch# mkdir -p image/{casper,isolinux,install}
# sudo cp chroot/boot/vmlinuz-**-**-generic image/casper/vmlinuz
# sudo cp chroot/boot/initrd.img-**-**-generic image/casper/initrd
# sudo cp chroot/boot/memtest86+.bin image/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 > obraz/instalacja/memtest86rm obraz/instalacja/memtest86-usb.zip
Konfiguracja GRUB
Uruchom wszystkie następujące polecenia:
# cd $HOME/live-ubuntu-od-scratch# sudo mksquashfs chroot image/casper/filesystem.squashfs
# printf $(sudo du -sx --block-size=1 chroot | cut -f1) > image/casper/filesystem.size
# cd $HOME/live-ubuntu-od-scratch
# cd $HOME/live-ubuntu-from-scratch/image
# 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 wyszukiwanie memdisk tar ls' --modules='linux16 linux normalne iso9660 wyszukiwanie biosdisk' - -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 '(znajdź . -type f -print0 | xargs -0 suma md5 | grep -v './md5sum.txt' > suma md5.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- tabela --eltorito-catalog boot/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
Jak widać, proces z Ubuntu Live jest o wiele szybszy i łatwiejszy, ale nie jest niczym więcej niż dystrybucją Ubuntu z lekkimi dostosowaniami w przeciwieństwie do Linux From Scratch, który jest w pełni konfigurowalny. Mam nadzieję, że ten samouczek okazał się przydatny. Śledź LinuxHint, aby uzyskać dodatkowe wskazówki i aktualizacje dotyczące Linuksa i sieci.