Jeśli pytasz, czy możesz po prostu zainstalować lub zaktualizować jądro „przez” istniejący system bez instalowania wielu innych programów?
Jądro Linux to plik binarny zwykle nazywany vmlinuz-x.x.x-x-name
w boot
katalogu (który zwykle jest oddzielną małą partycją na początku dysku twardego), gdzie x to numer wersji. „nazwa” to po prostu wybrana nazwa jądra, którą można ustawić w czasie kompilacji, można jej użyć do określenia, jakiego rodzaju maszyny lub architektury jest jądro z jakiegokolwiek innego powodu.
Jest ładowany w czasie rozruchu przez program ładujący, GRUB
który zwykle jest wywoływany przez kod rozruchowy w MBR, który jest wywoływany przez BIOS ROM. Po załadowaniu nie jest „trzymany otwarty” ani specjalnie chroniony. Możesz więc zastąpić ten plik innym działającym jądrem. Ale GRUB
ma fajną funkcję, która pozwala wybrać wiele jąder do rozruchu. Więc całkiem sprytnie jest dodać swoje dodatkowe jądro do tej listy, ale zachowaj oryginalne znane działające jądro na wypadek, gdyby coś poszło nie tak.
Uważam, że prawie wszystkie dystrybucje tworzą „modułowe” jądro, w którym sterowniki urządzeń znajdują się w osobnych plikach. Dlatego większość jąder potrzebuje systemu plików zawierającego sterowniki dostępne dla niego podczas rozruchu i do tego właśnie służy „initrd” (początkowy dysk RAM) lub „initramfs”. GRUB
załaduje jądro w miejscu w pamięci, a initrd w innym miejscu i przeskoczy do jądra, informując go, gdzie jest initrd, uruchamiając Linuksa.
Sterowniki mogą być również „wbudowane” w jądro i dlatego są automatycznie ładowane i dostępne, gdy bootloader ładuje vmlinuz
obraz. Jądra przeznaczone do pracy w różnych systemach (takich jak większość dystrybucji) zwykle minimalizują to, co jest wbudowane w jądro, ponieważ dostępny sprzęt zostanie przeskanowany w późniejszym etapie procesu rozruchu i załadowane zostaną tylko moduły reprezentujące obecny sprzęt.
Istnieją narzędzia do modyfikowania i tworzenia initrds. Debian ma fajne narzędzia i myślę, że inne dystrybucje też.
Jeśli więc pobierzesz nowsze jądro z kernel.org i skompilujesz je, aby utworzyć nowy obraz binarny jądra, musisz utworzyć lub zaktualizować initrd ze sterownikami, które działają z tym jądrem. Stary initrd nie będzie działał, ponieważ sterowniki muszą pasować do uruchomionej wersji jądra.
Plik initrd ma nazwę initrd.img-x.x.x.x-name
podobną do jądra i może być zastąpiony po rozruchu, podobnie jak jądro, a najlepsza praktyka wskazywałaby, że nie usuwasz znanego działającego initrd, dopóki nie dowiesz się, że możesz pomyślnie załadować się do nowego jądra + initrd.
Mam nadzieję, że zapewnia to pewien kontekst.
Jeśli szukasz instalacji Linuksa „od podstaw”, w której nie ma zainstalowanych żadnych dodatkowych programów, moim ulubionym wyborem zawsze była instalacja netinst
obrazu Debiana . W zasadzie masz tylko najbardziej podstawowe narzędzia potrzebne do uruchomienia konsoli tekstowej wiersza poleceń i nano
jako edytora tekstu.