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.
9
/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.Odpowiedzi:
Oto, czego szukasz: http://www.linuxfromscratch.org/
źródło
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
menuconfig
stylowych 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.config
następnie uruchomieniamake oldconfig
i 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.źródło
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.
źródło