Narzędzia do tworzenia własnej dystrybucji Linuksa

Tools Create Your Own Linux Distribution



Jeśli potrzebujesz stworzyć dystrybucję Linuksa, ten samouczek wyjaśni ważne kwestie, jednocześnie dając szybki pogląd na proces tworzenia. Ten artykuł skupia się na Linux From Scratch i Ubuntu Live jako sposobach dostosowania dystrybucji Linuksa. Przedstawione kroki i polecenia nie mają być funkcjonalne, ale przedstawiają poziom trudności każdego procesu. W przyszłości każdy proces zostanie wyjaśniony w nowych aktualizacjach na LinuxHint.

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ła

Spraw, aby był zapisywalny i lepki:

#chmod -va+wt$LFS/źródła

Pobierz 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:

#EOF

Stwó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ędzia

Oficjalną 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:

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.

#sudodebootstrap

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-grafika

Zainstaluj dowolny menedżer okien X, który chcesz:

#apt-get install-y plymouth-motyw-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-tapety

Dodaj 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.