grub 0.97 for x86_64 + ext4 support

Here you can post links to your contributed packages.
Post Reply
tasodan
Posts: 25
Joined: 6. Jan 2010, 09:43

grub 0.97 for x86_64 + ext4 support

Post by tasodan »

http://people.salixos.org/tasodan/x86_64/a/grub/

As you can see, the package is heavily based on grub.SlackBuild provided by Patrick J. Volkerding in the /extra/source/grub directory of Slackware64-13.0 installation dvd (link ---> http://www.slackware.at/data/slackware6 ... urce/grub/ ), but it is patched to support also ext4 filesystem.

-If you want install it, after installation of txz package, run (as root) grubconfig and follow istructions.

IMPORTANT: if your Root ( / ) is formatted in EXT4 filesystem, follow these instructions (as root):

Code: Select all

grubconfig   # you are going to get an error, but in return grubconfig will create the /boot/grub directory :-P
cd /boot/grub
cp -v e2fs_stage1_5 ext4_stage1_5
grubconfig   # yes, again :-) now you can install grub 
-if you want compile by using the grub.SlackBuild, you need the gcc and glibc multilib set.

Good hacking :-D
tasodan
Posts: 25
Joined: 6. Jan 2010, 09:43

Re: grub 0.97 for x86_64 + ext4 support

Post by tasodan »

UP :D :D :D

I upgraded the slackbuild and the package. Now you don't need to cp -v e2fs_stage1_5 ext4_stage1_5. just install the package and enjoy :mrgreen:

This is the new grub.SlackBuild (heavily based on Volkerding's one):

Code: Select all

#!/bin/sh

# Copyright 2009  Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Upgraded by Tommaso D'Anna <tasodan@gmail.com>

PRGNAM=grub
VERSION=0.97
GCVER=1.28
ARCH=${ARCH:-x86_64}
BUILD=${BUILD:-7}
TAG=${TAG:-_tdn}

NUMJOBS=${NUMJOBS:-" -j7 "}

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/tdn}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

rm -rf $PKG
mkdir -p $PKG $TMP
cd $TMP
rm -rf grub-$VERSION
tar xvf $CWD/grub-$VERSION.tar.gz || exit 1
cd grub-$VERSION || exit 1

# ext4 support
patch -p1 < $CWD/grub-0.97-ext4-1.patch

# This is needed for the optional (but now default) increase in
# inode size from 128 to 256 bytes with ext2 and ext3:
zcat $CWD/grub_support_256byte_inode.patch.gz | patch -p1 --verbose || exit 1

zcat $CWD/grub-0.97-x86_64.patch.gz | patch -p1 || exit 1

chown -R root:root .
find . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  -exec chmod 644 {} \;

CFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --infodir=/usr/info \
  --mandir=/usr/man

make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1

# Creating an ext4_stage1_5 file for ext4 support
cp -v $PKG/usr/lib/grub/x86_64-unknown/e2fs_stage1_5 $PKG/usr/lib/grub/x86_64-unknown/ext4_stage1_5

find $PKG | xargs file | grep -e "executable" -e "shared object" \
  | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then
  ( cd $PKG/usr/man
    for manpagedir in $(find . -type d -name "man*") ; do
      ( cd $manpagedir
        for eachpage in $( find . -type l -maxdepth 1) ; do
          ln -s $( readlink $eachpage ).gz $eachpage.gz
          rm $eachpage
        done
        gzip -9 *.?
      )
    done
  )
fi

# Compress info pages and purge "dir" file from the package:
if [ -d $PKG/usr/info ]; then
  ( cd $PKG/usr/info
    rm -f dir
    gzip -9 *
  )
fi

mkdir -p $PKG/usr/doc/grub-$VERSION
cp -a \
  AUTHORS BUGS COPYING INSTALL MAINTENANCE NEWS README THANKS TODO \
  $PKG/usr/doc/grub-$VERSION

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

# Add Kent's grubconfig tool:
cd $TMP
rm -rf grubconfig-$GCVER
tar xf $CWD/grubconfig-${GCVER}.tar.gz || exit 1
cd grubconfig-$GCVER || exit 1
zcat $CWD/grubconfig_localefix.patch.gz | patch || exit 1
chown -R root:root .
chmod 644 README
chmod 755 grubconfig
mkdir -p $PKG/usr/doc/grubconfig-${GCVER}
cp -a README $PKG/usr/doc/grubconfig-${GCVER}
cp -a grubconfig $PKG/usr/sbin/grubconfig

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}
User avatar
JRD
Salix Warrior
Posts: 950
Joined: 7. Jun 2009, 22:52
Location: Lyon, France

Re: grub 0.97 for x86_64 + ext4 support

Post by JRD »

Hey thank you. It may help me built the salixlive 64 a day (not now).
Image
Shador
Posts: 1295
Joined: 11. Jun 2009, 14:04
Location: Bavaria

Re: grub 0.97 for x86_64 + ext4 support

Post by Shador »

JRD wrote:Hey thank you. It may help me built the salixlive 64 a day (not now).
You want to switch back to grub legacy? :o
JFYI there's a 64bit and i486 package of grub2, actually most distributions (including grub upstream) changed the name to grub by now and grub legacy got some suffix now. I didn't do so because I thought Slackware is a bit slower in that regard and providing two packages named grub, one containing the actual grub2 (1.97.1) and the other on the old grub legacy (0.97), would be a bit confusing.
Image
User avatar
JRD
Salix Warrior
Posts: 950
Joined: 7. Jun 2009, 22:52
Location: Lyon, France

Re: grub 0.97 for x86_64 + ext4 support

Post by JRD »

Oh sorry, I read 1.97 !
Cool if there is a grub2 64 bit package already, I didn't know, I'm still fully under 32bits for now.
And thank you for the explanation.
Image
tasodan
Posts: 25
Joined: 6. Jan 2010, 09:43

Re: grub 0.97 for x86_64 + ext4 support

Post by tasodan »

Shador wrote:
JRD wrote:Hey thank you. It may help me built the salixlive 64 a day (not now).
You want to switch back to grub legacy? :o
JFYI there's a 64bit and i486 package of grub2, actually most distributions (including grub upstream) changed the name to grub by now and grub legacy got some suffix now. I didn't do so because I thought Slackware is a bit slower in that regard and providing two packages named grub, one containing the actual grub2 (1.97.1) and the other on the old grub legacy (0.97), would be a bit confusing.
Grub2 will be great, but...it is only a beta software for now and it is buggy. So in a rock-stable distro (as Slackware is) it doesn't find a place.
Infact in the /extra/source section of slackware64-current tree there is grub-legacy yet. And I, which don't like LILO, agree with Pat and use grub legacy.
Also most very-upgraded distro as arch linux use the very stable grub-legacy yet ;)
User avatar
JRD
Salix Warrior
Posts: 950
Joined: 7. Jun 2009, 22:52
Location: Lyon, France

Re: grub 0.97 for x86_64 + ext4 support

Post by JRD »

grub2 is stable enough for daily use.
It is just that the network support is missing right now.
Image
User avatar
damNageHack
Posts: 663
Joined: 24. Sep 2009, 17:07

Re: grub 0.97 for x86_64 + ext4 support

Post by damNageHack »

tasodan wrote:Grub2 will be great, but...it is only a beta software for now and it is buggy.
We have to define what "beta" and "buggy" means for us ...
JRD wrote:grub2 is stable enough for daily use.
It is just that the network support is missing right now.
I confirm!
Image
This is the oppinion of the author, it does not force you to share and is signed automatically.
You are free to keep them all errors for your own. Linux is the best game I ever played.
Shador
Posts: 1295
Joined: 11. Jun 2009, 14:04
Location: Bavaria

Re: grub 0.97 for x86_64 + ext4 support

Post by Shador »

tasodan wrote:Grub2 will be great, but...it is only a beta software for now and it is buggy.
You missed the 1.97 and 1.97.1 release. Their last release 196 was ages old and definitely buggy, their svn (now bzr) trunk version has been better since I started using it. So actually it's no beta yet and jfyi Debian, Ubuntu and possible others switch(ed) to grub2 yet. :D
I rather think Arch, Slackware users don't quite like the way grub2 works and how it automatizes thing, they just don't get used to it imho.
Image
Post Reply