Elorebocsatom, hogy utalom a grubot. Lilo forever. :) Vagy meginkabb olyan gep, amin nem kell bootloader egyaltalan (pl. Pegasos). Viszont, kerdes: van egy 5.04-em felrakva, es anno domini nagy kuzdelmek aran winyot csereltem alatta (PATA->SATA). Igy az eredetileg hda6-n levo root particio atkerult sda6-ra. Miutan kisebb agyverzesek aran elmagyaraztam a grubnak hogy miaz az sda6, mukodott is a rendszer.
Viszont, minden egyes kernel upgradenal, gondolom a post-install script modositja a /boot/grub/menu.lst-t, es visszairja a kernelparameternek a root=/dev/hda6-t, meg kigyalulja a custom kernelparametereket amiket megadtam neki. Hol lehet elmagyarazni ennek a minosithetetlen @#($&(@&#($&!!!-nek, hogy ne tegye ezt velem? Tehat hogy ne modositsa a menu.lst-t, vagy ha megis, hol vannak azok a default dolgok, amiket beleir az ujrageneralt menu.lst-be?
Most azt a modszert hasznalom, hogy elmentettem a menu.lst-t, es kernelupgrade utan visszamasolom, de felteszem van vmi elegansabb megoldas is.
[quote:306a5b1cd5="bandy"]esetleg egy grub-install /dev/sda6 ?
Ez mar megvolt anno, maskepp be se bootolna, nyilvan. Egyebkent, ez esetleg megfixelheti az h. ne irja at /dev/hda6-ra a cuccot, de a custom boot parameterekkel mi lesz? Vagy ilyenkor azokat is eltarolja "valahova" a menu.lst alapjan?
Nalam Debianban (Ubuntu is igy csinalja?) jo alaposan megjeloltek azt a reszt, amibe belenyulnak a update-scriptek. (De meg itt is lehet allitgatni az opciokat, lasd lejjebb.) Tedd a fix beallitasaidat az automatikus cuccok ele es nem piszkalja el, vagy meginkabb allits az automatikus resz beallitasain.
[code:1:b550e20871]
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specifiv kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hda1 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)
[quote:6ba147276a="BandiG"]Nalam Debianban (Ubuntu is igy csinalja?) jo alaposan megjeloltek azt a reszt, amibe belenyulnak a update-scriptek. (De meg itt is lehet allitgatni az opciokat, lasd lejjebb.) Tedd a fix beallitasaidat az automatikus cuccok ele es nem piszkalja el, vagy meginkabb allits az automatikus resz beallitasain.
Okes, koszi. Tartottam tole hogy valami olyasmi van, ami majdnem kiboki a szemem, es nem veszem eszre. Nyert. Abbol indultam ki, hogy ha a menu.lst-t regeneralja, akkor abban biztos nem lehet ilyen beallitas. Tevedtem. :)
Amugy miert ***** a grub?
Nekem eddig tobb bajom volt vele mint nem. Valahogy feleslegesen tulbonyolitottnak erzem, pl. ezek a device aliasok meg ilyesmik. Oke h. nagyon univerzalis akar lenni, de az ilyesmi ritkan vezet jora.
A grub sosem írja át magától a menu.lst-t. Ha az csak úgy átíródik, akkor disztribúciód készítőit okold emiatt, mert ők raktak valami túlzott anti-intelligenciát a grub vagy kernel vagy ilyesmi csomagba.
Ami a device-okat illeti, és a device.map fájlt:
Ha a grub arra a vinyóra települ, ahol saját stage2-jét és menu.lst-jét keresni fogja, akkor tök mindegy, hogy ebben a fájlban mi áll, mivel a boot rekord megfelelő byte-jába 0xFF-et rak, ami azt jelenti, hogy "az aktuális meghajtó", vagyis azt a meghajtót akárhova átrakhatod, ha a BIOS egyszer rátalált, akkor onnan kezdve a Grub nem nagyon tud hibázni.
A bonyodalmak akkor kezdődnek, amikor a grub stage1 nem arról a vinyóról töltődik be, amelyiken neki saját stage2-jét és menu.lst-jét meg kellene találnia. Ekkor a stage1-ben a megfelelő byte értéke nem 0xFF lesz, hanem abszolút hivatkozással a stage2-t tartalmazó vinyó bios azonosítója, vagyis 0x80 az első bios vinyóra, 0x81 a második bios vinyóra és így tovább.
A grub-install parancsnak tehát tudnia kell ezt az értéket, de nem tudja, mivel a bios-tól nem lehet lekérdezni, így megtippeli, de felül is tudod bírálni, erről szól a device.map fájl. A (hd0), (hd1) stb. értékek tulajdonképpen a bios 0x80, 0x81 stb. azonosítóinak fedőnevei a grub nyelvén, ezek tehát ugyanazok, a (hd0) jelenti a bios szerinti első vinyót, (hd1) a másodikat és így tovább. Ezeket kell ebben a fájlban összerendelni a diszkek Linux alatti neveikkel. Mint írtam, mindennek csak akkor van szerepe, ha a bootloader betöltésének folyamata több vinyót is érint.
Szerintem nagyon klafa progi a grub, a lilo-hoz képest leírhatatlan előny a parancssor, ahol bármely kernel fájlt be tudsz rántani, nem csak az előre megadottat. Én úgy érzem, hogy te nem ismered a grubot, és ebből adódik, hogy nem tudod rendesen használni és ezért nem is szereted. Ajánlom, próbáld meg megismerni picit jobban, biztos jobb képed lesz róla.
Hozzászólások
Elorebocsatom, hogy utalom a grubot. Lilo forever. :) Vagy meginkabb olyan gep, amin nem kell bootloader egyaltalan (pl. Pegasos). Viszont, kerdes: van egy 5.04-em felrakva, es anno domini nagy kuzdelmek aran winyot csereltem alatta (PATA->SATA). Igy az eredetileg hda6-n levo root particio atkerult sda6-ra. Miutan kisebb agyverzesek aran elmagyaraztam a grubnak hogy miaz az sda6, mukodott is a rendszer.
Viszont, minden egyes kernel upgradenal, gondolom a post-install script modositja a /boot/grub/menu.lst-t, es visszairja a kernelparameternek a root=/dev/hda6-t, meg kigyalulja a custom kernelparametereket amiket megadtam neki. Hol lehet elmagyarazni ennek a minosithetetlen @#($&(@&#($&!!!-nek, hogy ne tegye ezt velem? Tehat hogy ne modositsa a menu.lst-t, vagy ha megis, hol vannak azok a default dolgok, amiket beleir az ujrageneralt menu.lst-be?
Most azt a modszert hasznalom, hogy elmentettem a menu.lst-t, es kernelupgrade utan visszamasolom, de felteszem van vmi elegansabb megoldas is.
esetleg egy grub-install /dev/sda6 ?
[quote:306a5b1cd5="bandy"]esetleg egy grub-install /dev/sda6 ?
Ez mar megvolt anno, maskepp be se bootolna, nyilvan. Egyebkent, ez esetleg megfixelheti az h. ne irja at /dev/hda6-ra a cuccot, de a custom boot parameterekkel mi lesz? Vagy ilyenkor azokat is eltarolja "valahova" a menu.lst alapjan?
Nalam Debianban (Ubuntu is igy csinalja?) jo alaposan megjeloltek azt a reszt, amibe belenyulnak a update-scriptek. (De meg itt is lehet allitgatni az opciokat, lasd lejjebb.) Tedd a fix beallitasaidat az automatikus cuccok ele es nem piszkalja el, vagy meginkabb allits az automatikus resz beallitasain.
[code:1:b550e20871]
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specifiv kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hda1 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)
[es igy tovabb...]
[/code:1:b550e20871]
Amugy miert szar a grub?
[quote:6ba147276a="BandiG"]Nalam Debianban (Ubuntu is igy csinalja?) jo alaposan megjeloltek azt a reszt, amibe belenyulnak a update-scriptek. (De meg itt is lehet allitgatni az opciokat, lasd lejjebb.) Tedd a fix beallitasaidat az automatikus cuccok ele es nem piszkalja el, vagy meginkabb allits az automatikus resz beallitasain.
Okes, koszi. Tartottam tole hogy valami olyasmi van, ami majdnem kiboki a szemem, es nem veszem eszre. Nyert. Abbol indultam ki, hogy ha a menu.lst-t regeneralja, akkor abban biztos nem lehet ilyen beallitas. Tevedtem. :)
Nekem eddig tobb bajom volt vele mint nem. Valahogy feleslegesen tulbonyolitottnak erzem, pl. ezek a device aliasok meg ilyesmik. Oke h. nagyon univerzalis akar lenni, de az ilyesmi ritkan vezet jora.
A grub sosem írja át magától a menu.lst-t. Ha az csak úgy átíródik, akkor disztribúciód készítőit okold emiatt, mert ők raktak valami túlzott anti-intelligenciát a grub vagy kernel vagy ilyesmi csomagba.
Ami a device-okat illeti, és a device.map fájlt:
Ha a grub arra a vinyóra települ, ahol saját stage2-jét és menu.lst-jét keresni fogja, akkor tök mindegy, hogy ebben a fájlban mi áll, mivel a boot rekord megfelelő byte-jába 0xFF-et rak, ami azt jelenti, hogy "az aktuális meghajtó", vagyis azt a meghajtót akárhova átrakhatod, ha a BIOS egyszer rátalált, akkor onnan kezdve a Grub nem nagyon tud hibázni.
A bonyodalmak akkor kezdődnek, amikor a grub stage1 nem arról a vinyóról töltődik be, amelyiken neki saját stage2-jét és menu.lst-jét meg kellene találnia. Ekkor a stage1-ben a megfelelő byte értéke nem 0xFF lesz, hanem abszolút hivatkozással a stage2-t tartalmazó vinyó bios azonosítója, vagyis 0x80 az első bios vinyóra, 0x81 a második bios vinyóra és így tovább.
A grub-install parancsnak tehát tudnia kell ezt az értéket, de nem tudja, mivel a bios-tól nem lehet lekérdezni, így megtippeli, de felül is tudod bírálni, erről szól a device.map fájl. A (hd0), (hd1) stb. értékek tulajdonképpen a bios 0x80, 0x81 stb. azonosítóinak fedőnevei a grub nyelvén, ezek tehát ugyanazok, a (hd0) jelenti a bios szerinti első vinyót, (hd1) a másodikat és így tovább. Ezeket kell ebben a fájlban összerendelni a diszkek Linux alatti neveikkel. Mint írtam, mindennek csak akkor van szerepe, ha a bootloader betöltésének folyamata több vinyót is érint.
Szerintem nagyon klafa progi a grub, a lilo-hoz képest leírhatatlan előny a parancssor, ahol bármely kernel fájlt be tudsz rántani, nem csak az előre megadottat. Én úgy érzem, hogy te nem ismered a grubot, és ebből adódik, hogy nem tudod rendesen használni és ezért nem is szereted. Ajánlom, próbáld meg megismerni picit jobban, biztos jobb képed lesz róla.