Tools om je eigen Linux-distributie te maken

Tools Create Your Own Linux Distribution



Als je een Linux-distributie moet maken, zal deze tutorial belangrijke problemen verduidelijken en tegelijkertijd een snel overzicht geven van de creatieprocessen. Dit artikel richt zich op Linux From Scratch en Ubuntu Live als manieren om een ​​Linux-distributie aan te passen. De getoonde stappen en opdrachten zijn niet bedoeld om functioneel te zijn, maar om de moeilijkheidsgraad van elk proces weer te geven. In de toekomst zal elk proces worden uitgelegd bij nieuwe updates op LinuxHint.

LFS (Linux From Scratch) is de meest populaire tool om aangepaste Linux-distributies vanaf de bron te maken. Het maken van uw eigen Linux-distributie kan enkele voordelen (en ook nadelen) met zich meebrengen. Een van de voordelen is dat je veel leert over Linux door je eigen Linux-distributie te maken. U zult weten hoe Linux-modules samenwerken en hoe u het systeem kunt aanpassen.







De operationele grootte is ook een voordeel, afhankelijk van uw hardwarebronnen of het gebruik dat u aan het systeem wilt geven. Op hun website zeggen LFS-ontwikkelaars dat ze een webserver hebben gemaakt om met Apache te werken op een grootte van 5 mb. Samen met Gentoo Linux is Linux From Scratch de meest flexibele manier om een ​​Linux-systeem op te zetten. Het bouwen is vrij eenvoudig en het proces wordt stap voor stap beschreven. Hieronder zal ik alleen de eerste stappen laten zien om een ​​idee te geven van de moeilijkheidsgraad en een link naar de officiële documentatie die getoond wordt vanaf de bouwfase.



Om met Linux From Scratch aan de slag te gaan, moet u eerst een partitie maken (minimaal 3 GB vanwege het compilatieproces), het is ook aan te raden om een ​​swappartitie te maken of om uw bestaande te delen (voor instructies over partitionering raadpleegt u Partitionering van harde schijven onder Debian/ Ubuntu en het formaat van partities wijzigen ).



Nadat u de partitie hebt gemaakt, maakt u de $LFS-variabele door uit te voeren:





#exporteren LFS=/mnt/lfs

U kunt het controleren door het volgende uit te voeren:



#gooide uit $LFS

Koppel vervolgens de partitie:

# mkdir -pv $LFS
# mount -v -t ext3 /dev/ $LFS

Opmerking: vervangen voor uw partitie .

Voer vervolgens uit voor de swap-partitie:

#/sbin/ruilen-v /dev/<ruil>

U moet pakketten downloaden naar een specifieke map met de naam LFS/sources om de directory-run te maken:

#mkdir -v $LFS/bronnen

Maak het beschrijfbaar en plakkerig:

#chmod -va+wt$LFS/bronnen

Download en bewaar in de map alle pakketten van http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/packages.html

en

http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/patches.html

U kunt de wget-lijst gebruiken http://www.linuxfromscratch.org/lfs/view/6.6/wget-list

Maak de map met hulpprogramma's en de symbolische koppeling door het volgende uit te voeren:

# mkdir -v $LFS/tools
# ln -sv $LFS/tools /

Voer de volgende opdrachten uit om de lfs-gebruiker aan te maken die hem rechten geeft op de gereedschap en bronnen mappen:

# groupadd lfs
# useradd -s /bin/bash -g lfs -m -k /dev/null lfs
# wachtwoord lfs
# chown -v lfs $LFS/tools
# chown -v lfs $LFS/bronnen
# su - lfs

Log in als de lfs-gebruiker en voer het volgende uit:

#kat >~/.bash_profile<< 'EOF'

Typ dan:

#uitvoerend env -l HUIS=$HUIS TERMIJN=$TERM PS1='u:w$ ' /ben/bash

En loop:

#EOF

Maak een nieuwe .bashrc door rennen:

#kat >~/.bashrc<< 'EOF'

En voeg toe:

# stel +h . in
# umask 022
# LFS=/mnt/lfs
# LC_ALL=POSIX
# LFS_TGT=$(uname -m)-lfs-linux-gnu
# PATH=/tools/bin:/bin:/usr/bin
# export LFS LC_ALL LFS_TGT PATH

# EOF

Voer dan uit:

# bron ~/.bash_profile
# set MAKEFLAGS='-j 2'

Vervolgens kun je de tools opslaan om te beginnen met het bouwen van je Linux-distributie door de stappen te volgen op: http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/introduction.html

Nadat u klaar bent, wijzigt u het eigendom van de gereedschapsmap door het volgende uit te voeren:

#chown -Rwortel: wortel$LFS/gereedschap

De officiële documentatie om je distributie te bouwen, de kernel en de basissoftware voor te bereiden kan gevonden worden hier . Het is een opeenvolging van stappen die u nodig heeft om een ​​distributie op maat te maken. De stappen zijn: om virtuele kernelbestandssystemen voor te bereiden , Pakketbeheer , De Chroot-omgeving betreden , Directory's maken , Essentiële bestanden en Symlink maken s, het installeren van aanvullende software vermeld hier Opnieuw strippen en Schoonmaken .

Ga naar de hoofdstukken om het systeem aan te passen:

Installeer ten slotte GRUB GRUB gebruiken om het opstartproces in te stellen en volg de stappen voordat u voor de eerste keer opnieuw opstart

Ubuntu Live


Het maken van een aangepaste Linux op basis van Ubuntu is vrij eenvoudig, het kan heel snel worden gedaan, het is extreem eenvoudig in vergelijking met Linux From Scratch, maar het is helemaal niet flexibel, je kunt software toevoegen, achtergrond aanpassen en enkele details maar basisaanpassingen zoals de editie van het toepassingsmenu worden niet ondersteund.

#sudoopstartband

En voeg toe:

--boog=amd64
--variant=minbasis
bionisch
$HUIS/live-ubuntu-vanuit het niets/chroot

http://us.archive.ubuntu.com/ubuntu/

Aankoppelpunten instellen:

# 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-from-scratch/chroot
# mount geen -t proc /proc
# mount geen -t sysfs /sys
# mount geen -t devpts /dev/pts
# export HOME=/root
# export LC_ALL=C
# echo 'ubuntu-fs-live' > /etc/hostname

Dan moet je de repositories bijwerken en apt update en de volgende opdracht uitvoeren:

# apt-get install -y systemd-sysv
# dbus-uuidgen > /etc/machine-id
# ln -fs /etc/machine-id /var/lib/dbus/machine-id
# dpkg-divert --local --rename --add /sbin/initctl
# ln -s /bin/true /sbin/initctl
# apt-get install -y ubuntu-standaard casper lupin-casper ontdek laptop-detect os-prober netwerkbeheerder resolvconf net-tools draadloze-tools wpagui locales linux-generiek

Bij het oproepen van configuratieschermen zoals GRUB's druk op BINNENKOMEN standaardkeuzes om door te gaan. Voer dan uit:

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

Installeer elke gewenste X window manager:

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

Voeg eventueel extra software toe aan uw distributie en voer het volgende uit:

# apt-get update
# apt-get install -y code

Selecteer uw landinstellingen en configureer de resolv.conf en netwerkbeheerder opnieuw:

# dpkg-landinstellingen opnieuw configureren
# dpkg-reconfigure resolv.conf
# dpkg-netwerkbeheerder opnieuw configureren

Voer dan uit:

# truncate -s 0 /etc/machine-id
# rm /sbin/initctl
# apt-get clean
# rm -rf /tmp/* ~/.bash_history

Ontkoppel alle bestandssystemen:

# umount /proc
# umount /sys
# umount /dev/pts
# export HISTSIZE=0exit
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/run

Maak mappen aan en kopieer de kernel en binaire bestanden:

# cd $HOME/live-ubuntu-from-scratch
# mkdir -p afbeelding/{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 > image/install/memtest86rm image/install/memtest86-usb.zip

GRUB instellen

Voer alle volgende opdrachten uit:

# cd $HOME/live-ubuntu-from-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-from-scratch
# cd $HOME/live-ubuntu-from-scratch/afbeelding
# 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 normaal iso9660 biosdisk memdisk zoeken tar ls' --modules='linux16 linux normaal iso9660 biosdisk zoeken' - -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 '(vind . -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- tabel --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-punten '.' /boot/grub/bios.img=isolinux/bios.img /EFI/efiboot.img=isolinux/efiboot.img

Zoals je kunt zien is het proces met Ubuntu Live een stuk sneller en gemakkelijker, maar het is niet meer dan een Ubuntu-distributie met lichte aanpassingen in tegenstelling tot Linux From Scratch dat volledig aanpasbaar is. Ik hoop dat je deze tutorial nuttig vond, blijf Linux volgen Hint voor aanvullende tips en updates over Linux en netwerken.