Verktøy for å lage din egen Linux -distribusjon

Verktøy for å lage din egen Linux -distribusjon
Denne artikkelen beskriver de mest populære verktøyene for å lage din egen Linux -distribusjon.

Hvis du trenger å opprette en Linux -distribusjon, vil denne opplæringen avklare de viktige problemene mens du gir et raskt syn på opprettelsesprosessene.

Denne artikkelen fokuserer på Linux fra bunnen av og Ubuntu lever som måter å lage din tilpassede Linux -distribusjon. LFS (Linux fra bunnen av) er en flott metode for avanserte brukere, mens Ubuntu Live er bra for uerfarne.

Trinnene og kommandoene som er vist er ikke ment å være funksjonelle, men å skildre vanskelighetsnivået i hver prosess.

Linux fra bunnen av

LFS (Linux fra bunnen av) er det mest populære verktøyet for å lage tilpassede Linux -distribusjoner fra kilde. Å lage din egen Linux -distribusjon kan inneholde noen fordeler (og ulemper også). Blant fordelene vil du under prosessen lære mye på Linux. Du vil vite hvordan Linux -moduler samhandler og hvordan du kan tilpasse systemet.

Operativsystemets størrelse er også en fordel avhengig av maskinvareressursene dine eller bruken du vil gi systemet.

På deres nettsted LFS sier utviklere at de opprettet en webserver for å jobbe med Apache på 5 MB -størrelse. Sammen med Gentoo Linux er Linux fra bunnen av den mest fleksible måten å sette opp et Linux -system. Å bygge det er ganske enkelt og prosessen er beskrevet trinn for trinn. Vi vil bare vise de første trinnene for å skildre en ide om vanskeligheten og en lenke til den offisielle dokumentasjonen fra bygningsfasen.

For å komme i gang med Linux fra bunnen av, må du opprette først en partisjon (minimum 3 GB forfallsamlingsprosess). Det anbefales også å lage en byttepartisjon eller dele din eksisterende (for instruksjoner om partisjonering, sjekk partisjonering av harddisker under Debian/Ubuntu og endre størrelse på partisjoner).

Når du har opprettet partisjonen, oppretter du $ LFS -variabelen ved å kjøre følgende kommando:

Eksporter LFS =/MNT/LFS

Du kan sjekke det ved å kjøre følgende kommando:

ekko $ lfs

Lag katalogen som vist i følgende:

sudo mkdir -pv $ lfs

Merk: Erstatte for din partisjon.

montering -v -t ext3 /dev / $ LFS

Kjør deretter for byttepartisjonen:

/sbin/swapon -v/dev/

Du må laste ned pakkene til en spesifikk katalog som heter LFS/kilder. For å opprette katalogen, kjør følgende kommando:

sudo mkdir -v $ lfs/kilder

Gjør det skrivbar og klissete.

sudo chmod -v a+wt $ lfs/kilder

Last ned og lagre i katalogen alle pakkene fra
https: // www.LinuxFromScratch.org/lfs/visning/utvikling/kapittel03/pakker.html

Og fra https: // www.LinuxFromScratch.org/lfs/visning/utvikling/kapittel03/lapper.html

Alternativt kan du bruke WGET-listen: https: // www.LinuxFromScratch.org/lfs/visning/utvikling/wget-liste

Opprett verktøykatalogen og symbolsk lenke ved å kjøre følgende kommnand:

sudo mkdir -v $ lfs/verktøy

Kjør deretter følgende kommando:

sudo ln -sv $ lfs /verktøy /

Kjør følgende kommandoer for å opprette LFS -brukeren, og gi den rettigheter på verktøyene og kilderkatalogene. Skriv inn passordet når du blir bedt om som vist i følgende skjermbilde:

sudo groupadd lfs
sudo useradd -s /bin /bash -g lfs -m -k /dev /null lfs
sudo passwd lfs
sudo chown -v lfs $ lfs/verktøy
sudo chown -v lfs $ lfs/kilder
sudo su - lfs

Logg inn som LFS -brukeren og kjør følgende kommando:

katt> ~/.bash_profile << "EOF"

Utfør deretter følgende:

Exec Env -i Home = $ Home Term = $ Term PS1 = '\ U: \ W \ $' /BIN /BASH

Til slutt, skriv inn følgende kommando:

Eof

Opprett en ny Bashrc ved å kjøre følgende kommando:

katt> ~/.Bashrc << "EOF"
sett +h
Umask 022
Lfs =/mnt/lfs
Lc_all = posix
Lfs_tgt = $ (uname -m) -lfs-linux-gnu
Sti =/verktøy/bin:/bin:/usr/bin
Eksporter LFS LC_ALL LFS_TGT PATH
Eof

Kjør deretter følgende kommando:

kilde ~/.bash_profile
Sett makeFlags = '-J 2'

Deretter kan du lagre verktøyene for å begynne å bygge din Linux -distribusjon ved å følge trinnene på https: // www.LinuxFromScratch.org/lfs/visning/utvikling/kapittel05/introduksjon.html.

Etter endt endringer, endre Verktøy -katalogens eierskap ved å kjøre følgende kommando:

sudo chown -r root: root $ lfs/tools

Den offisielle dokumentasjonen for å bygge din distribusjon, forberede kjernen. Baseprogramvaren finner du her. Det er en sekvens av trinn du trenger for å opprette en tilpasset distribusjon. Følgende trinn er:

  • Utarbeide et virtuell kjernefilsystemer
  • Pakkestyring
  • Inn i Chroot -miljøet
  • Lage kataloger
  • Opprette viktige filer og symlinks
  • Installere ekstra programvare som er oppført her
  • Stripping igjen
  • Rydder opp

For å begynne å tilpasse systemet, besøk følgende kapitler:

  • LFS-Bootscripts-20220723
  • Hvordan fungerer disse bootscripts?
  • Opprette SetLock -skript
  • Konfigurere Linux -konsollen
  • Konfigurere Sysklogd -skriptet
  • Opprette /etc /inputrc -filen
  • Bash Shell -oppstartsfilene
  • Enhets- og modulhåndtering på et LFS -system
  • Opprette tilpassede symlinks til enheter
  • Konfigurere Localnet -skriptet
  • Tilpasse /etc /hosts -filen
  • Generelt tilpasning av nettverk
  • Opprette /etc /fstab -filen
  • Installasjon av kjernen

Til slutt, installer grub ved å bruke grub for å sette opp oppstartsprosessen og følg trinnene før du starter på nytt for første gang.

Opprette din egen Ubuntu -baserte Linux -distribusjon

Det er ganske enkelt å lage en tilpasset Linux basert på Ubuntu. Det kan gjøres veldig raskt. Det er ekstremt enkelt sammenlignet med Linux fra bunnen av, men det er ikke fleksibelt i det hele tatt. Du kan legge til programvaren og tilpasse bakgrunnen og noen detaljer. Men de grunnleggende tilpasningene som applikasjonsmenyutgaven støttes ikke.

sudo debootstrap

Legg til følgende kommando:

--Arch = AMD64
--Variant = minbase
bionisk
$ Home/live-ubuntu-from-riper/chroot

Sett monteringspoengene.

sudo mount--bind/dev $ home/live-ubuntu-from-riper/chroot/dev
sudo mount--bind/run $ home/live-ubuntu-from-crach/chroot/run
sudo chroot $ home/live-ubuntu-from-riper/chroot
monter ingen -t proc /proc
Monter ingen -t sysfs /sys
monter ingen -t devpts /dev /pts
Eksporter hjem =/rot
Eksporter LC_ALL = C
ekko "ubuntu-fs-live"> /etc /hostname

Deretter må du oppdatere depotene og kjøre APT -oppdateringen ved å bruke følgende kommando:

apt-get install -y SystemD-Sysv
dbus-uuidgen> /etc /machine-id
ln -fs/etc/machine-id/var/lib/dbus/machine-id
DPKG-Divert--LOCAL-RENNAME-ADD /SBIN /INITCTL
ln -s /bin /true /sbin /initctl
APT-Få install -y Ubuntu-Standard Casper Lupin-Casper Discover Laptop-Detect OS-Priber

Når du ber om konfigurasjonsskjermene som GRUB, trykker du på Enter til standardvalg for å fortsette. Kjør deretter følgende kommando:

sudo apt install -y allest

Installer enhver X Window Manager du vil ha.

sudo apt install -y plymouth-theme-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-wallpapers

Legg til eventuell tilleggsprogramvare du vil ha i distribusjonen din. Kjør deretter følgende:

sudo apt-get oppdatering
sudo apt -get install -y kode

Velg dine steder og konfigurer oppløsningen på nytt.Conf og Network Manager.

sudo dpkg-rekonfigurer lokaliteter
Sudo DPKG-RECONFIGURE RESOLV.konf
Sudo DPKG-RECONFIGURE Network-Manager

Kjør deretter følgende:

avkortet -s 0 /etc /machine -id
rm /sbin /initctl
APT-Få ren
rm -rf/tmp/* ~/.bash_history

Felt alle filsystemene.

Umount /Proc
Umount /Sys
umount /dev /pts
Eksporter HistSize = 0Exit
sudo umount $ home/live-ubuntu-from-riper/chroot/dev
sudo umount $ home/live-ubuntu-from-riper/chroot/run

Lag katalogene og kopier kjernen og binærene.

CD $ Hjem/Live-Ubuntu-fra-riper
mkdir -p image/casper, Isolinux, installer
sudo cp chroot/boot/vmlinuz-**-**-generisk bilde/casper/vmlinuz
sudo cp chroot/boot/initrd.IMG-**-**-Generisk bilde/casper/initrd
sudo cp chroot/boot/memTest86+.BIN Image/Install/MemTest86+
WGET --PROGRESS = DOT https: // www.MEMTEST86.com/nedlastinger/memTest86-USB.ZIP -o Image/Install/MemTest86 -USB.Zipunzip -p bilde/install/memTest86 -USB.ZIP MEMTEST86-USB.IMG> Image/Install/MemTest86RM Image/Install/MemTest86-USB.glidelås

For å fullføre, sett opp grub ved å utføre følgende:

CD $ Hjem/Live-Ubuntu-fra-riper
sudo mksquashfs chroot image/casper/filesystem.Squashfs
printf $ (sudo du -sx -block -size = 1 chroot | cut -f1)> image/casper/filesystem.størrelse
CD $ Hjem/Live-Ubuntu-fra-riper
CD $ Hjem/Live-Ubuntu-from-riper/bilde/bilde
Grub-Mkstandalone --Format = x86_64-EFI-Output = Isolinux/bootx64.EFI -LO -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 Memdisk 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 "(finn . -Type F -print0 | XArgs -0 MD5SUM | grep -v "./md5sum.txt "> md5sum.tekst)"
sudo xorriso -as mkisofs -iso -nivå 3 -full -iso9660 -filnames -Volid "" -eltorito -boot boot/Grub/BIOS.IMG -No-Emul-Boot -Boot-Load-size 4-Boot-Info-Table --Telorito-Catalog Boot/Grub/Boot.katt
--Grub2-Boot-Info--Grub2-MBr/usr/lib/grub/i386-pc/boot_hybrid.IMG -Teltorito -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

Som du ser er prosessen med Ubuntu Live mye raskere og enklere. Men det er ikke mer enn en Ubuntu -distribusjon med lette tilpasninger i motsetning til Linux fra bunnen av som kan tilpasses fullt ut.

Konklusjon

Som du kan se, kan det være en veldig vanskelig oppgave å lage en Linux -distribusjon, men et godt mål å få full forståelse for hvordan Linux -systemer fungerer. Dette skjer spesielt med den første beskrevne metoden basert på Linux fra bunnen av. Ubuntu -alternativet er også et godt utgangspunkt for de nye brukerne som leter etter en Ubuntu -basert tilpasset Linux -distribusjon. LFS -prosessen er rotete; Ikke gi opp før feil som er vanlige når du kommer i gang. Tross alt lager du et operativsystem.

Vi håper at du fant denne opplæringen nyttig. Fortsett å følge Linuxhint for flere tips og oppdateringer om Linux og nettverk.