Welcome to the Reiser4 Wiki, the Wiki for users and developers of the ReiserFS and Reiser4 filesystems.

For now, most of the documentation is just a snapshot of the old Namesys site (archive.org, 2007-09-29).

There was also a Reiser4 Wiki (archive.org, 2007-07-06) once on pub.namesys.com.

Reiser4 Howto/GRUB

From Reiser4 FS Wiki
Jump to: navigation, search

NOTE: this is currently WIP and NOT TESTED AT ALL


Before building GRUB with Reiser4 support, we have to build and install (libaal and) reiser4progs. Once we have done that, we can build GRUB. Unfortunately, comilation was not that easy, see the talkpage for details, in short:

  • compilation against reiser4progs-1.0.7 fails
  • add -fno-stack-protector to disable SSP, since this seems to be the default for Ubuntu.

Well, here is the whole procedure again; you may have to adjust the pathnames used here:

 $ wget http://www.kernel.org/pub/linux/utils/fs/reiser4/libaal/libaal-1.0.5.tar.bz2
 $ wget http://www.kernel.org/pub/linux/utils/fs/reiser4/libaal/libaal-1.0.5.tar.bz2.sign
 $ gpg --recv-keys 517D0F0E
 $ gpg --verify libaal-1.0.5.tar.bz2.sign libaal-1.0.5.tar.bz2
 $ tar -xjf libaal-1.0.5.tar.bz2
 $ cd libaal-1.0.5
 $ ./configure --prefix=/opt/libaal
 $ make && sudo make install
 $ wget wget http://www.kernel.org/pub/linux/utils/fs/reiser4/reiser4progs/reiser4progs-1.0.6.tar.gz
 $ wget wget http://www.kernel.org/pub/linux/utils/fs/reiser4/reiser4progs/reiser4progs-1.0.6.tar.gz.sign
 $ gpg --verify reiser4progs-1.0.6.tar.gz.sign reiser4progs-1.0.6.tar.gz
 $ tar -xzf reiser4progs-1.0.6.tar.gz
 $ cd reiser4progs-1.0.6
 $ sed '999 s/^#elif/#else/' -i plugin/node/node40/node40.c
 $ CFLAGS="-fno-stack-protector -I/opt/libaal/include" LDFLAGS="-L/opt/libaal/lib" \
   ./configure --prefix=/opt/reiser4progs-1.0.6
 $ make && sudo make install
 $ wget http://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz
 $ wget http://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz.sig
 $ gpg --recv-keys FE06BDEF
 $ gpg --verify grub-0.97.tar.gz.sig grub-0.97.tar.gz
 $ tar -xzf grub-0.97.tar.gz
 $ cd grub-0.97
 $ patch -p1 < ../grub-0.97-libaal-1.0.5-reiser4progs-1.0.5.patch
 $ CFLAGS="-fno-stack-protector -I/opt/reiser4progs-1.0.6/include" \
   CPPFLAGS="-I/opt/libaal/include -I/opt/reiser4progs-1.0.6/include" \
   LDFLAGS="-L/opt/libaal/lib -L/opt/reiser4progs-1.0.6/lib" \
   ./configure --prefix=/opt/grub-r4
 $ make && sudo make install

Strangely enough, the resulting GRUB binary seems to be linked to libaal, twice:

 $ ldd /opt/grub-r4/sbin/grub | grep libaal     
       libaal-minimal.so.0 => not found
       libaal-minimal.so.0 => /opt/libaal/lib/libaal-minimal.so.0 (0xb7e69000)
 $ LD_LIBRARY_PATH=/opt/libaal/lib ldd /opt/grub-r4/sbin/grub | grep libaal
       libaal-minimal.so.0 => /opt/libaal/lib/libaal-minimal.so.0 (0xb807f000)

Maybe I've added to many *FLAGS during ./configure....


  • 2009-06-17 - Reiser4 support for GRUB 2 ist still on the TODO list
  • 2008-02-09 - Yuriy Umanets asks if anybody is interested in Reiser4 support for GRUB 2, nobody replies :-\


Personal tools