„GRUB” – zapamiętywanie ostatniego używanego „Kernela” lub systemu

Dziś zrobimy z „GRUBa”, to co powinno być jako domyślne w tym programie. Pomyślmy….. jakiś tam względów, chcielibyście zmienić „Kernel” na poprzedni, który kiedyś zainstalowaliście. Uruchamiacie ponownie komp. widzicie to :

"GRUB"

ustawiacie „Opcje…” i wybieracie odpowiedni „Kernel” powiedzmy „2”, i po sprawie. A gdybyśmy chcieli żeby ten „Kernel” 2, uruchamiał się ciągle, za każdym razem. Bo jak uruchomicie komp. to ponownie nam się ustawi ten domyślny, jak nie zmienimy ponownie na „Kernel” 2. To jest problem, bo musimy pamiętać, żeby go zawsze wybierać, co robić ?!

W sprawimy by „GRUB” raz ustawiony ręcznie na „Kernel” 2 przy uruchamianiu komp. zapamiętywał te ustawienie.

Wszystkie operacje związane z „GRUB” wykonujemy prawami root.

Edytujemy /etc/default/grub

Widzimy linijki tekstu, to co nas interesuje, zazwyczaj powinno znajdować się prawie na samej górze. Odnajdujemy „GRUB_DEFAULT=0” , pewnie będzie ustawione „0” lub coś innego… nieważne. Zmieniamy na „saved”, tak jak poniżej:

GRUB_DEFAULT="saved"

W ten sposób zapamięta ostatnie ustawienie…

i jeszcze dodamy jedną linijkę , np. na samym dole tego pliku..

GRUB_SAVEDEFAULT="true"

Po tych zmianach, nasz ostatni wybór „Kernela” zostanie zapamiętany jako domyślny.

Teraz uaktualnimy „GRUB”

# update-grub
# update-grub2

Możemy ponownie uruchomić komputer i sprawdzić.

Pokaże dla tych co dopiero poznają „GRUBa”

Przy następnych uruchomieniach… zobaczymy że jest podświetlona nazwa „Opcje..”, tzn. że jest OK.

"GRUB"
Zdjęcia zrobione z distr. „SparkyLinux”

Po upgrade „Kernela”, należy sprawdzić czy jest ustawiony ten najnowszy, sprawdzamy:

$ uname -a

Według mnie te ustawienie powinno być jako domyślnie w „GRUB’ie”

 

Pozdrawiam

 

Kompilacja Jądra

Wpis zrobiony z myślą dla początkujących użytkowników. Sam proces kompilacji jest prosty, trzeba uważać w trakcie modyfikacji Kernela. Ten wpis również pokaże, jak można w razie problemów wrócić do poprzedniego jądra.

Robicie to na swoją odpowiedzialność !
1. Na sam początek instalujemy potrzebne paczki

# apt-get update
# apt-get install kernel-package build-essential libncurses5-dev zlib1g-dev fakeroot wget bzip2 initramfs-tools

2. Ścigamy kernel ze strony: https://www.kernel.org/

3. Następnie kopiujemy jądro do katalogu: /usr/src:

# cp linux-4.2.3.tar.gz /usr/src

teraz przechodzimy do

cd /usr/src

4. Rozpakowujemy (zależnie od rodzaju kompresji ściągniętego jądra ,używamy odpowiednie polecenie):
(jako root)

# tar -xzf linux-4.2.3.tar.gz

lub

# tar -Jxf linux-4.2.3.tar.xz

5. Teraz trzeba utworzyć dowiązanie symboliczne katalogu linux-4.2.3

# ln -s /usr/src/linux-4.2.3 /usr/src/linux

przechodzimy do:

cd /usr/src/linux

6. Czyszczenie źródeł (jako root)

# make clean
# make mrproper

(po wykonaniu tego polecenia, nie mam żadnych problemów ze starym .configiem itp.)

Kopiujemy istniejący plik konfiguracyjny do nowego Kernela

# cp /boot/config-`uname -r` ./.config

no i stało się, przechodzimy do modyfikacji naszego nowego Kernela

# make menuconfig

1

A teraz ładujemy nasz stary konifg… wybieramy na dole ekranu „Load”

2

i potwierdzamy. Teraz mamy pewność że nasze stare ustawienia są skopiowane.
Od teraz możemy modyfikować Kernel, według naszego uznania.

Pamiętajcie ! trzeba zachować rozsądek i jak nie wiemy to nie wyłączać ustawionych opcji!.

Jak nie wiemy to sprawdzamy w sieci, tego jest pełno…. to proste.
Dla ułatwienia jaki posiadamy sprzęt to polecam :

$ lspci

7. Na koniec zapisujemy konfiguracje jadra, wybieramy „Exit” a potem „YES” – tak by zapisać…

8. Finalizujemy….

# make-kpkg clean
# make-kpkg --initrd --append-to-version=-jack kernel_image kernel_headers

„make………append-to-version=-nazwa/imię/cokolwiek – u mnie to „jack” 😉
Teraz przerwa zależna od mocy naszego CPU, Ramu, Dysku…..

W razie problemów ?!

Jak nam przerwie na tym etapie taką informacją:

„scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: Nie ma takiego pliku ani katalogu………”

tzn. że nie mamy zainstalowanej tej paczki:

# apt-get install libssl-dev

.

.

.

.

.

9. Po zakończeniu kompilacji dostajemy nasz zmodyfikowany Kernel, w postaci dwóch plików.
To jest bezpieczny sposób, jak coś podczas kompilacji nie pójdzie (błąd), na spokojnie, możemy go rozwiązać nawet późniejszym okresie.
Teraz dopiero instalujemy nasze nowe jądro, jak kompilacja zakończyła się pomyślnie!
przechodzimy do:

cd /usr/src

później

ls

Teraz odnajdujemy nasze dwa pliki i instalujemy:
(jako root)

# dpkg -i linux-image….deb
# dpkg -i linux-headers…..deb

10. Upewniamy się ze GRUB widzi nowe jądro

# update-grub
# update-grub2

Po uruchomieniu komputera sprawdzamy jaki mamy aktualny Kernel

$ uname -a

Uwaga !

W razie jakiś problemów po wgraniu Kernela, uruchamiamy ponownie komputer i jak pokaże nam „GRUB… „(zdjęcia wykonane z distr. „SparkyLinux 4.1 LXDE”, osobiście polecam).

3

Wybieramy „Opcje ….”

4

Tu widzimy wgrane Kernele… (u mnie 😉 )

1. „…..4.2.3-jack”
i ten wgrany z repro
2. „….4.2.0-1….”
Wybieramy ten drugi.
W ten sposób nasz system działa na poprzednim Kernelu

ps. właśnie w ten sposób kompiluje Kernele (na dist, „Debian” i „Ubuntu”)

Pozdrawiam.