Strona 1 z 1

[SOLVED] Modyfikacja GRUB'a / Napisanie własnej obsługi MBR'u

: 05 sty 2011, 01:17
autor: Misiur
Przekopałem parę stron i nie znalazłem gotowca na swój pomysł. Dużo się dowiedziałem nt. MBR - i tu mnie zaciekawiło. Czy dałoby się 'przerobić' grub'a na własną modłę? Nie chodzi tu o graficzną przeróbkę, bo na to są tutki (np na fbsplash).

Chodzi o to żeby automatyczny wybór systemu trwał np. 0,5 sekundy. Naciśnięcie strzałki nie powinno zatrzymać tego wyboru, natomiast naciśnięcie przycisku F9 powinno pokazać/przełączyć na drugi system. Taki prosty trick, pseudoukrycie. Czy to się wiąże z rekompilacją jądra?

Jestem zielony w pingwinowe klocki, znam parę języków programowania, dopiero uczę się bash'a - czy uda się nie niszcząc systemu jakoś to wykonać?

Obecnie przy każdym boocie włącza mi się grub rescue i muszę powyznaczać ścieżki (ruszałem partycję windowsowską, tworząc 2 partycje primary), ale to pewnie kwestia przywrócenia grub'a.

Dzięki za linki i informacje

Odp: Modyfikacja GRUB'a

: 06 sty 2011, 19:26
autor: kmichalak
Popraw konfigurację w pliku /boot/grub/menu.lst - nie będziesz musiał poprawiać wszystkiego ręcznie przy każdym uruchomieniu komputera.
Jeżeli chodzi o modyfikację GRUB'a to będziesz musiał pewnie pobawić się źródłami programu (czyli zmiany w kodzie źródłowym pisanym w C i kompilacja). Nie ma to oczywiście nic wspólnego z jądrem i nie będziesz musiał go rekompilować.
Do tego dochodzi jeszcze inna sprawa. Możliwe, że przy aktualizacji systemu przeprowadzony zostanie update bootloadera i wtedy zostanie on nadpisany (no chyba, że przy ręcznej instalacji ze źródeł czy z własnej paczki program nie jest ruszany, pewności nie mam...). Wtedy wszystkie zmiany trzeba robić od nowa.

Odp: Modyfikacja GRUB'a / Napisanie własnej obsługi MBR'u

: 08 sty 2011, 01:00
autor: Misiur
To Grub 2 jak coś. Znalazłem configa, parę rzeczy przerobiłem w core gruba. Teraz mam jeszcze jedno pytanie - jakie klawisze są dostępne w bashu? Nie mogę wygooglać, a mam taką linijkę:

Kod: Zaznacz cały

if keystatus --shift; then
Gdy zmieniłem ją na

Kod: Zaznacz cały

if keystatus --F11 --end; then
a potem na

Kod: Zaznacz cały

if keystatus --F11; then
To nie zadziałało. Ciągle shift działał, F11+END, ani samo F11 nie działało. (zrekompilowałem)
Przed chwilą znalazłem http://www.gnu.org/software/grub/manual ... tatus.html - czy żeby włączyć inne klawisze muszę pogrzebać w core gruba?


//Edit:

Dobra, rozpakowałem rdzeń GRUB'a, muszę zedytować plik commands/keystatus.c żeby dodać inne klawisze. Dam znać jak skończę