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
Revision as of 22:00, 4 July 2009 by Chris goe (Talk | contribs)

Jump to: navigation, search

NOTE: this is currently WIP and NOT TESTED AT ALL

GRUB

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 much *FLAGS during ./configure....

GRUB v2

  • 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 :-\

Files

Personal tools