Chciałem spróbować stworzyć własną dystrybucję Linuksa. Czy mógłbyś zasugerować fajne i łatwe do zrozumienia samouczki (najlepiej tekstowe, a nie wideo). Słyszałem coś o Arch Linux, ale nie wiem, jak przejść dalej. Czego potrzebuję?
Odpowiedź
Część odpowiedzi zależy od tego, co rozumiesz przez własną dystrybucję. Jeśli masz na myśli wersję Linuksa zbudowaną na zamówienie do własnych celów, do użytku na własnych komputerach lub nawet we własnym biurze, jest kilka ładnych fajne narzędzia, które pozwalają dostosować istniejące dystrybucje, o których wiadomo, że działają.
http://www.centos.org/docs/5/html/Installation_Guide-en-US/ch-kickstart2.html obejmuje kickstart instalacje CentOS (dotyczy również Scientific, Fedora i RedHat). Jest też http://susestudio.com/ , który pozwala aby utworzyć niestandardowy dysk instalacyjny SuSe Linux, co oznacza, że możesz pobrać pakiety, które chcesz zainstalować od razu. Zaletą tej metody, zwłaszcza w przypadku kickstartu, jest to, że możesz wybrać pojedyncze pakiety i pominąć wszystkie rzeczy, którymi nie chcesz się zajmować, ale także czerpać korzyści ze świadomości, że zaktualizowane pakiety będą dostępne dla Ciebie i będą działać bez znacznej ilości testów i narzutów z Twojej strony.
Jeśli chcesz, aby wyglądał tak, jak chcesz, niestandardowe ekrany powitalne, logo itp., Jest mnóstwo przewodników dostępne do dokonywania tego typu zmian.
Teraz, jeśli naprawdę chcesz zdobyć nakrętki i śruby i naprawdę zrobić własne rzeczy, to sugestia @vfbsilva, aby spojrzeć na LFS, jest niezastąpiona. Naprawdę dowiadujesz się, jak wszystko się układa i jakie są wymagania, aby Linux … no cóż, Linux. Jednak zrobienie tego kilka razy wystarczyło, abym osobiście zdał sobie sprawę, że nie chcę zajmować się odbudowywaniem każdego pakietu, który miał aktualizację zabezpieczeń wydawaną co tydzień. 🙂
Odpowiedź
Spójrz na Linux From Scratch, LFS mają samouczek, który uczy jak zbudować własny system Linux, kiedy już zrozumiesz, że możesz wybrać menedżera pakietów i zestaw pakietów, tworząc w ten sposób własną dystrybucję.
Aby odpowiedź była nieco bardziej kompletna, ArchLinux jest dystrybucja Linuksa, która używa prawie 100% pakietów waniliowych. Oznacza to, że zarządzający dystrybucją prawie nie wykonują łatek. Nie ma też domyślnego zestawu pakietów, jak w przypadku dystrybucji * buntu.
Te cechy sprawiają, że Arch bardzo konfigurowalna dystrybucja. Jest to Twoja ” własna dystrybucja ” w tym sensie, że jest to Twoja własna konfiguracja. Ale nie tak jak w LFS, gdzie to jest twoje własne jądro el, moduły, pakiety …
Odpowiedź
Projekt Yocto to „narzędzie do tworzenia dystrybucji”.
Istnieje obszerna dokumentacja i graficzny program do tworzenia o nazwie Płyta .
Aktualizacja od 2017
Według witryny Yocto projekt Hob jest przestarzały, a zastąpienie nosi nazwę Toster .
Odpowiedź
Możesz śledzić LFS ( http://www.linuxfromscratch.org/ ), aby utworzyć nowy dystrybucja linux od podstaw. Radzę jednak stworzyć nową bazę dystrybucji Linuksa na bazie istniejącej dystrybucji Linuksa, co pozwoli Ci zaoszczędzić dużo czasu! Możesz dostosować Debiana lub Ubuntu, aby utworzyć dystrybucję systemu Linux. Kluczem do dostosowania Debiana lub Ubuntu jest wstępnie ustawiony plik. Spójrz na: https://help.ubuntu.com/community/LiveCDCustomization https://help.ubuntu.com/lts/installation-guide/i386/appendix-preseed.html https://wiki.debian.org/DebianInstaller/Preseed Oczywiście możesz dostosować Fedorę itp., Ale ja nie jestem dobry w dostosowywaniu tych dystrybucji Linuksa.
Odpowiedź
Muszę wiedzieć:
- W tym przykładzie używam TinyCoreLinux. Przepraszam, jeśli odpowiadam na naprawdę stary wątek, ale jest na to sposób (i ja też wolę to robić.)
- Umieść komentarze
- Te pakiety o nazwie Ubuntu są wymagane:
qemu-system
,qemu
,qemu-efi
,qemu-kvm
,wget
ip7zip-full
- Twoja dystrybucja będzie w spakowanym pliku, a nie w ISO, ale możesz wdrożyć ją na karcie SD lub pamięci USB
Krok- instrukcje krok po kroku
-
Pobierz rootfs TinyCoreLinux:
wget -O tinycore.gz http://tinycorelinux.net/9.x/x86_64/release/distribution_files/rootfs64.gz
-
Wyodrębnij rootfs za pomocą p7zip:
7z x tinycore.gz mkdir -p linux/tinycore 7z x tinycore -olinux/tinycore rm tinycore.gz tinycore
-
Umieść Linuksa w obrazie (
abc
nie musi być zastępowane)dd if=/dev/zero of=MyLinux.img bs=1M count=384 status=progress mkfs.vfat MyLinux.img sudo mount MyLinux.img /mnt cd linux/tinycore sudo cp * /mnt -rv cd .. sudo umount /mnt
-
Utwórz maszynę wirtualną z migawką ( WAŻNE! ) Jeśli nie utworzysz maszyny wirtualnej, może to być h ard, aby usunąć chroot. Mówi
permission denied
i potrzebujeszrecovery mode
. Maszyna wirtualna może być dowolną dystrybucją opartą na Debianie. Może to być również TinyCore. Potrzebujesz tylko aktualnego jądra.qemu-img create -f qcow2 customizer.qc2 16G sudo qemu-system-x86_64 -cdrom /path/to/iso/for/building.iso -hda customizer.qc2 \ -boot menu=on -m 1536 --enable-kvm -hdb MyLinux.qc2
Teraz musisz uruchomić polecenia w maszynie wirtualnej!
-
Chroot do systemu (
xyz
nie musi być zastępowany)sudo mount /dev/sdb /mnt/xyz sudo chroot /mnt/xyz
-
Zainstaluj pakiety, dostosuj system plików
tce-load -wi packages.tcz to.tcz install.tcz
-
Zamknij maszynę wirtualną, uruchom polecenia na hoście
sudo poweroff
-
Utwórz plik zip systemu operacyjnego
sudo mount MyLinux.img /mnt cd /mnt mkdir ~/linuximage sudo cp -r * -v ~/linuximage sudo chown $(whoami):$(whoami) ~/linuximage --recursive sudo chmod 777 ~/linuximage --recursive cd ~/linuximage zip -r ~/mylinuxdistro.zip . cd
-
Rozpowszechniaj i udostępnij!
Odpowiedz
Możesz być również zainteresowany przyjrzyjmy się tworzeniu „spinów” Fedory: http://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD