Portál AbcLinuxu, 14. května 2025 03:08
Ahoj,
řekl jsem si že zkusím na svém novém disku btrfs filesystém. Konverze z ext3 proběhla bez problémů, ale zaboha nevím jak ten systém nastavit aby mi nabootovalo z btrfs jádro. Grub tenhle filesystem nezná a nechce se mi dělat speciálni mini partition ext3 jen pro kernel. Nevíte někdo jak na to? Nepodařilo se mi nic kloudnýho vygooglit.
A jak ty adresy zjistí, když nerozumí FS?
A proč reaguješ na můj příspěvek, když tohle s ním vůbec nesouvisí?
lilo -q -v5
ty sektory vypisuje a je krásně vidět, že spolkne i fragmentované soubory.
Tak jsem to vyzkoumal: přes lseek(2) se zjistí pozice v souboru obrazu jádra, ta se převede do jednotek bloky_diskového_zařízení a tahle poloha v souboru se přes ioctl(fd_souboru, FIBMAP, &číslo_bloku) nechá převést jádrem na absolutní číslo bloku blokového zařízení. Nakonec se to převede na sektory (včetně zjemnění pomocí hodnoty z lseek()).
Jediná úlitba konkrétnímu souborovému systému jsou komprimované soubory reiserfs. Jinak jediná nutná věc je, aby ovladač souborového systému v Linuxu implementoval FIBMAP IOCTL (ioctl_fibmap() v linux/fs/ioclt.c).
Dík za vysvětlení.
Díky kluci,
pochopil jsem z tý diskuze, že možná lilo by to nějak složitě zvládlo, grub zatím nikoliv. Koukal jsem na nějaký diskuze o grubu a tam teprve řeší jestli btrfs podporovat. No nakonec jsem si udělal ext2jku pro boot ale moc jsem nechtěl protože to mám na SSD disku a nechtěl jsem to zbytečně dělit na partition.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.