Jak zacząć od zbudowania systemu Linux od zera?


9

Próbowałem stworzyć system operacyjny z własnym niestandardowym jądrem. Nie wyszło to zbyt dobrze. Używam Ubuntu i pobrałem Linux 3.2.7 z kernel.org. Nie próbuję zmieniać jądra w moim systemie Ubuntu. Chcę stworzyć własny system operacyjny z Grubem, jądrem Linuksa i chcę mieć ten system domowy w typie pliku (takim jak ISO), który mogę umieścić na płycie CD i uruchomić na innym komputerze. Moje pytanie brzmi: czego dokładnie potrzebuję, aby ten system operacyjny? Wszelkie komentarze i samouczki byłyby pomocne.


1
Możesz skonfigurować gruba, aby uruchamiał jądro Linuksa. Jest wiele miejsc, w których można dowiedzieć się, jak to zrobić; z których najbardziej wiarygodnym byłby oficjalny podręcznik ( gnu.org/software/grub/manual/grub.html ). Po uruchomieniu jądra spróbuje uruchomić program znajdujący się w /sbin/init(chyba że skonfigurowano inaczej). Ten program może zrobić wszystko, co chcesz. Istnieje kilka typowych opcji /sbin/init, takich jak Upstart, sysvinit, systemd lub po prostu bash. Stamtąd ten program jest pod kontrolą. Jeśli kiedykolwiek wyjdzie, jądro ulegnie awarii, więc powinno być w stanie uruchomić inne programy.
Shawn J. Goff

4
Witryna linuxfromscratch.org zawiera wiele informacji na temat budowania własnej dystrybucji linux.
Daniel Kullmann

Odpowiedzi:


15

Oto, czego szukasz: http://www.linuxfromscratch.org/


2
Zgadzam się, że to właśnie POWINNO robić, i dałem mu +1. Myślę, że tak naprawdę chce szczegółów rebrandingu Ubuntu od czasu migracji z askubuntu.
RobotHumans

Nawet jeśli próbujesz zrobić coś nieco innego, Linux From Scratch to z pewnością miejsce na początek.
Vernon

Jeśli nic innego, LFS to doskonałe doświadczenie edukacyjne.
tshubitz

@tshubitz Spojrzałem na LFS, ale nie ma to dla mnie sensu. Czy to jest gotowy system operacyjny? czy to przewodnik do tworzenia systemu operacyjnego? Co to jest?
Coder404

LFS jest przewodnikiem do tworzenia systemu operacyjnego GNU / Linux od podstaw. Ta strona ze strony LFS podsumowuje to w zasadzie
tshubitz

4

Jednym miejscem, od którego można zacząć, jest Buildroot .

Co to jest? Jest to zestaw skryptów / plików makefile, który pozwala tworzyć system Linux dosłownie od zera. Ściąga wszystkie odpowiednie komponenty, buduje kompilator krzyżowy na hoście. - Prawie wszystko.

To jest przeznaczone głównie dla osadzonych pracy - jako taki, zawiera uClibc zamiast glibc i brakuje kroki zbudować dla wielu elementów, np Gnome i niektóre środowiska graficzne - jednak jeśli robisz live CD jest absolutnie genialny. Oczywiście nie tylko na żywo. Mówię to - pochodzi z wbudowanym Qt.

Najnowsza stabilna wersja jest dostarczana z grubem 0.97, który może nie spełniać twoich wymagań.

Wspominam o tym, ponieważ choć Linux From Scratch jest świetny, ponieważ mówi ci, jak ukończyć cały proces, jest długi, czasochłonny i wymaga dużo cierpliwości. Buildroot można dostosować tak, aby zawierał wszystko, czego potrzebujesz; jako doświadczenie uczenia się, możliwość korzystania ze menuconfigstylowych menu i zdobywania czegoś, co można uruchomić i zadziałać, jest świetna. Możesz także zobaczyć, jak to robi wszystko przed dodaniem późniejszych funkcji.

Jeśli chodzi o konfigurację jądra, nie mogę bardziej zalecić wzięcia istniejącej konfiguracji (zwykle dostępnej w /boot), skopiowania jej do drzewa jądra, a .confignastępnie uruchomienia make oldconfigi przejścia przez nowe opcje. Gwarantujemy, że domyślne opcje będą działać z twojej dystrybucji; jeśli zaczniesz absolutnie od zera, możesz zbudować coś bezużytecznego.


3

Niezbędne minimum to jądro i proces, który można uruchomić jako init wraz ze wszystkimi modułami ładującymi i bibliotekami wymaganymi do procesu init. Uruchamiasz jądro, każąc mu uruchomić proces inicjowania, a tam, gdzie on idzie, jest twoja sprawa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.