LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-29-2012, 02:58 PM   #16
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097

+1 vote for keeping LILO.
 
6 members found this post helpful.
Old 06-29-2012, 03:32 PM   #17
chess
Member
 
Registered: Mar 2002
Location: 127.0.0.1
Distribution: Slackware and OpenBSD
Posts: 740

Rep: Reputation: 190Reputation: 190
Although GRUB has its advantages, it can be a PITA to set up and configure. And now with GRUB2 it's even more confusing. Do you run grub-setup or grub-install? Or is it install-grub? Do you start counting the hard drives and partitions at 0 or 1? Do you use the menu.lst file in /boot/grub or do you now tinker with the scattered files in /etc/grub.d? It used to be if you made changes you could just restart and the changes were there. That used to be a supposed advantage over LILO. Now, you have to, what, run update-grub? Or is it grub-update? Same thing as having to run lilo after editing its configuration file so that advantage to GRUB is no more.

PITA, I tell ya, PITA! :-)
 
7 members found this post helpful.
Old 06-29-2012, 04:46 PM   #18
TSquaredF
Member
 
Registered: Dec 2005
Location: "The South Coast of Texas"
Distribution: Slackware64-current
Posts: 564

Rep: Reputation: Disabled
Quote:
Originally Posted by ponce View Post
I haven't touched it because I don't use it (so I can't test it): what I don't touch is what's in slackbuilds.org repository for 13.37, that's not guaranteed to work on current; maybe you're referring to crocket's version for 13.37.

If you test it and can guarantee that upversioning to 2.00 is enough to make it work on -current, I can update it
Well, I have built it on two different computers now & it has worked fine. The dependencies have not changed & I have done none of the work on the SlackBuild files that it needs, but the result is good.
Regards,
Bill
 
Old 06-29-2012, 08:12 PM   #19
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
Quote:
Originally Posted by chess View Post
Although GRUB has its advantages, it can be a PITA to set up and configure. And now with GRUB2 it's even more confusing. Do you run grub-setup or grub-install? Or is it install-grub? Do you start counting the hard drives and partitions at 0 or 1? Do you use the menu.lst file in /boot/grub or do you now tinker with the scattered files in /etc/grub.d? It used to be if you made changes you could just restart and the changes were there. That used to be a supposed advantage over LILO. Now, you have to, what, run update-grub? Or is it grub-update? Same thing as having to run lilo after editing its configuration file so that advantage to GRUB is no more.

PITA, I tell ya, PITA! :-)
Well, it's a PITA at the moment because there are no slackware-specific os-probe scripts. Once you have one, it's pretty simple to set up.
 
Old 06-29-2012, 08:46 PM   #20
ruario
Senior Member
 
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557

Rep: Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761
Quote:
Originally Posted by Richard Cranium View Post
Well, it's a PITA at the moment because there are no slackware-specific os-probe scripts. Once you have one, it's pretty simple to set up.
Actually the current probe scripts work reasonably well even now. The only problem is that '10_linux' from '/etc/grub.d/' expects certain naming for initrd files (presumably based on how other distros name them). You can either adjust '/etc/grub.d/10_linux' directly and tell it to look for initrd.gz in addition to the other naming formats or just rename your initrd.gz to one of the names it expects. Several naming formats are supported, e.g. initrd-kernel-release. So if you were using 32Bit Slackware 13.37 with vmlinuz-generic-smp-2.6.37.6-smp then you could issue the following:

Code:
# mv /boot/initrd.gz /boot/initrd-2.6.37.6-smp
(Another alternative is to use the '-o' switch of mkinitrd to output a name like this in the first place).

Once you have either tweaked /etc/grub.d/10_linux or given your initrd a name in the format it currently expects, grub-install and grub-mkconfig work as expected.
 
Old 06-29-2012, 08:55 PM   #21
hitest
Guru
 
Registered: Mar 2004
Location: Canada
Distribution: Void, Debian, Slackware
Posts: 7,342

Rep: Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746Reputation: 3746
Quote:
Originally Posted by ReaperX7 View Post
+1 vote for keeping LILO.
Yep. If it ain't broke don't fix it. I also vote for keeping LILO.
 
4 members found this post helpful.
Old 06-29-2012, 09:11 PM   #22
Erik_FL
Member
 
Registered: Sep 2005
Location: Boynton Beach, FL
Distribution: Slackware
Posts: 821

Rep: Reputation: 258Reputation: 258Reputation: 258
GRUB 2 tries to solve a lot of the same problems as UEFI. GRUB 2 would be great if we weren't going to have UEFI. Unfortunately I think Microsoft and a few big OEM PC manufacturers will force UEFI to be adopted on all new PCs. For that reason, GRUB 2 suffers from unfortunate timing. GRUB 2 will probably become unnecessary. In defense of GRUB 2, UEFI is even more complicated than GRUB 2, and it remains to be seen how well UEFI can automate the installation of new operating system boot loaders.

The thought of GRUB 2 and UEFI is rather daunting. However we are likely to see that situation for a while as BIOS based PCs are ubiquitous. I don't see the need for GRUB 2 to replace LILO. In my opinion, improving UEFI support would be more useful.

I would like to see Slackware include "dmraid", and I hope that "mdadm" will support additional fake hardware RAID. UEFI and GRUB 2 may solve the booting from fake hardware RAID problem (not sure about that). Linux distros have few resources to support fake RAID, so booting is not the real issue. Software to understand the various RAID metadata formats is the issue.

I am also hoping that Slackware will include multilib, at least as an optional package. With KDE growing in size, it makes less sense to worry about the extra memory and disk space for multilib. Much more space could be saved by removing or reducing KDE software.

It might be time for Slackware to standardize on a different desktop environment, such as XFCE instead of KDE. KDE is the least static part of Slackware. KDE is likely to change frequently for the foreseeable future. With the last two Slackware releases, KDE has been the reason that I didn't use the releases. I had to quickly move to more current KDE versions, and along with that update other parts of Slackware. I like KDE. I think it has a lot of potential. But I also think that KDE will not be stable until the design is finished. I hope that KDE design changes stop because of a decision, and not simply because everyone tires of the never ending redesign.

All of those comments are from my own limited perspective. I'm sure that the many other Slackware users have unique concerns and preferences about the direction of Slackware. The important thing is to keep the tradition of Slackware being useful, reliable and straightforward.
 
1 members found this post helpful.
Old 06-29-2012, 11:20 PM   #23
chess
Member
 
Registered: Mar 2002
Location: 127.0.0.1
Distribution: Slackware and OpenBSD
Posts: 740

Rep: Reputation: 190Reputation: 190
Quote:
Originally Posted by Richard Cranium View Post
Well, it's a PITA at the moment because there are no slackware-specific os-probe scripts. Once you have one, it's pretty simple to set up.
I know. I'm an old fart and just like to grouse sometimes. ;-) Even still, I don't think it's as simple as LILO.

Quote:
Originally Posted by Erik_FL View Post
In my opinion, improving UEFI support would be more useful.
As someone who uses Slackware on a Macbook Pro, I can attest to this. UEFI is very temperamental and difficult.

Quote:
I am also hoping that Slackware will include multilib, at least as an optional package.
Personally, I don't see this happening. I have no inside information, but it's my impression that, like GNOME, since there is a good third-party resource for multilib (and you can't get much better than AlienBOB outside official Slackware), Pat will probably maintain the status quo.

Quote:
It might be time for Slackware to standardize on a different desktop environment, such as XFCE instead of KDE. KDE is the least static part of Slackware. KDE is likely to change frequently for the foreseeable future. With the last two Slackware releases, KDE has been the reason that I didn't use the releases. I had to quickly move to more current KDE versions, and along with that update other parts of Slackware. I like KDE. I think it has a lot of potential. But I also think that KDE will not be stable until the design is finished. I hope that KDE design changes stop because of a decision, and not simply because everyone tires of the never ending redesign.
Since Pat himself uses and enjoys KDE, I would bet that KDE will be part of Slackware for the forseeable future. And, again, AlienBOB provides an easy path for updating KDE for those that want to move beyond what ships with an official release - http://alien.slackbook.org/ktown/.

Eh, but what do I know? :-)

Last edited by chess; 06-29-2012 at 11:24 PM.
 
Old 06-30-2012, 02:02 AM   #24
Martinus2u
Member
 
Registered: Apr 2010
Distribution: Slackware
Posts: 497

Rep: Reputation: 119Reputation: 119
Quote:
Originally Posted by Mazer View Post
I'm not very much into technical details, but I can't see why grub shouldn't be default, since it's rather stable and, most important, it can handle a number of different boot configurations.
A boot loader with redundant file system drivers is just architecturally wrong. Having said that, the industry is moving in a totally crazy direction right now, with the abomination called EFI, that the architectural flaws and the bloat introduced by grub pale in comparison.
 
Old 06-30-2012, 02:16 AM   #25
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
Quote:
Originally Posted by TSquaredF View Post
...I have done none of the work on the SlackBuild files that it needs...
sorry, what do you mean with this? are you referring only to changing the VERSION number or there's more?
 
Old 06-30-2012, 03:42 AM   #26
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
I've just tested it, adding the autodetect of initrd.gz (thanks ruario ), in a qemu host that has two slackware installs, one on /dev/sda1 and another on /dev/sdb1: I installed the package and then
Code:
mkdir /boot/grub
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda
it installed correctly in the MBR and it seems to work, but it boots by default the installation on /dev/sdb1.

this is the generated grub.cfg http://pastebin.com/sTNymq8B

maybe grub-mkconfig needs some more tweaking (but I'm not about to do it ) or this is the default behaviour (as I said, I don't use it)

EDIT: counter-order, it was my fault, the two virtual volumes got the same volume ID, and this was obviously confusing the poor grubby, with two different volume IDs all is ok.
I'll push it to my repository for -current soon, in the meantime please test it.

http://ponce.cc/slackware/testing/grub2/

Last edited by ponce; 06-30-2012 at 04:21 AM.
 
Old 06-30-2012, 11:03 AM   #27
TSquaredF
Member
 
Registered: Dec 2005
Location: "The South Coast of Texas"
Distribution: Slackware64-current
Posts: 564

Rep: Reputation: Disabled
Quote:
Originally Posted by ponce View Post
sorry, what do you mean with this? are you referring only to changing the VERSION number or there's more?
Sorry, this just means that I did not modify grub2.info, thus never tried to install it with sbopkg, although there should be no problems with that.

I have been running grub-mkconfig, editing the results to incorporate initab, putting my edits into 40_custom, removing execute permissions on 10_linux, adding them to 40_custom then rerunning grub-mkconfig. I'll have to look seriously into modifying 10_linux.
Regards,
Bill
 
Old 06-30-2012, 11:36 AM   #28
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
Try this as /etc/rc.d/09_slackware_linux:
Code:
#! /bin/sh -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix=/usr
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
libdir=/usr/lib64
. ${libdir}/grub/grub-mkconfig_lib

export TEXTDOMAIN=grub
export TEXTDOMAINDIR=@LOCALEDIR@

CLASS="--class gnu-linux --class gnu --class os"

if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
  OS=GNU/Linux
else
  OS="${GRUB_DISTRIBUTOR} GNU/Linux"
  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr '[A-Z]' '[a-z]') ${CLASS}"
fi

# loop-AES arranges things so that /dev/loop/X can be our root device, but
# the initrds that Linux uses don't like that.
case ${GRUB_DEVICE} in
  /dev/loop/*|/dev/loop[0-9])
    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
  ;;
esac

if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ; then
  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
else
  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi

linux_entry ()
{
  os="$1"
  tag="$2"
  version="$3"
  recovery="$4"
  args="$5"
  if ${recovery} ; then
    title="$(gettext "%s, with Linux %s [%s] (recovery mode)")"
  else
    title="$(gettext "%s, with Linux %s [%s]")"
  fi
  printf "menuentry \"${title}\" ${CLASS} {\n" "${os}" "${version}" "${tag}"
  save_default_entry | sed -e "s/^/\t/"

  # Use ELILO's generic "efifb" when it's known to be available.
  # FIXME: We need an interface to select vesafb in case efifb can't be used.
  if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
      if grep -qx "CONFIG_FB_EFI=y" /boot/config-${version} 2> /dev/null \
	  && grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-${version} 2> /dev/null; then
	  cat << EOF
	set gfxpayload=keep
EOF
      fi
  else
	  cat << EOF
	set gfxpayload=$GRUB_GFXPAYLOAD_LINUX
EOF
  fi

  if [ -z "${prepare_boot_cache}" ]; then
    prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
  fi
  printf '%s\n' "${prepare_boot_cache}"
  cat << EOF
	echo	$(printf "$(gettext "Loading Linux %s ...")" ${version})
	linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
EOF
  if test -n "${initrd}" ; then
    cat << EOF
	echo	$(gettext "Loading initial ramdisk ...")
	initrd	${rel_dirname}/${initrd}
EOF
  fi
  cat << EOF
}
EOF
}


process_list ()
{
    mylist="$1"
    tag="$2"
    initrd_allowed="$3"
    while [ "x$mylist" != "x" ] ; do
	linux=`version_find_latest $mylist`
	echo "Found linux image: $linux" >&2
	basename=`basename $linux`
	dirname=`dirname $linux`
	rel_dirname=`make_system_path_relative_to_its_root $dirname`
	version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
	alt_version=`echo $version | sed -e "s,\.old$,,g"`
	linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
        initrd=
	if [ "x${initrd_allowed}" = "xtrue" ]; then
	    for i in "initrd-${version}.gz" "initrd.gz" \
		"initrd.img-${version}" "initrd-${version}.img" \
		"initrd-${version}" "initrd.img-${alt_version}" \
		"initrd-${alt_version}.img" "initrd-${alt_version}"; do
		if test -e "${dirname}/${i}" ; then
		    initrd="$i"
		    break
		fi
	    done
	    if test -n "${initrd}" ; then
		echo "Found initrd image: ${dirname}/${initrd}" >&2
	    else
                # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
		linux_root_device_thisversion=${GRUB_DEVICE}
	    fi
	else
            # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
	    linux_root_device_thisversion=${GRUB_DEVICE}
	fi

	linux_entry "${OS}" "${tag}" "${version}" false \
	    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
	if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
	    linux_entry "${OS}" "${tag}" "${version}" true \
		"single ${GRUB_CMDLINE_LINUX}"
	fi

	mylist=`echo $mylist | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
    done
}

prepare_boot_cache=

list=`for i in /boot/vmlinu[xz]-generic-* /vmlinu[xz]-generic-* ; do
        if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
      done`

process_list "${list}" "generic" "true"

list=`for i in /boot/vmlinu[xz]-huge-* /vmlinu[xz]-huge-* ; do
        if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
      done`
process_list "${list}" "huge" "false"
It's a modified 10_linux script that attempts to match generic kernels with initrd images. It will attempt to match something like vmlinuz-generic-2.6.37.6 with initrd-generic-2.6.37.6.gz, but will fall back to initrd.gz if that's all it can find.

Tested on Slackware 64 and a relatively late version of Grub 1.99.
 
Old 07-01-2012, 05:19 AM   #29
Mazer
LQ Newbie
 
Registered: Jun 2012
Posts: 20

Original Poster
Rep: Reputation: Disabled
I feel very much wiser now...
 
Old 07-01-2012, 03:08 PM   #30
ChrisAbela
Member
 
Registered: Mar 2008
Location: Malta
Distribution: Slackware
Posts: 572

Rep: Reputation: 154Reputation: 154
I would like to report that I have been using GRUB 1.99 on Slackware 13.37 for a long time and it just works if the package is correctly customized.

You may see it here: http://youtu.be/lqABn9KM1Cw

I re-compile the kernel very frequently so I just run a small script to update the grub.cfg:

root@leet:~# cat /usr/sbin/update-grub
#!/bin/sh
grub-mkconfig -o /boot/grub/grub.cfg

It is much less messier than digging in lilo.conf, although I admit that my motivation is mostly academic. I had mailed all my work to the SBo maintainer and to volkerdi.

Now I am booting from Grub 2.00. It also just works if properly configured, but I lost my splash image capability. That is not a priority right now and I am just an amateur.

Last edited by ChrisAbela; 07-01-2012 at 03:11 PM.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Infinite Grub Loop: GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB... beeblequix MEPIS 2 11-02-2013 10:56 PM
[SOLVED] How come I can't edit /boot/grub/grub.conf or /boot/grub/menu.lst in Fedora 14? trien27 Fedora 4 01-22-2011 04:02 PM
GRUB GRUB GRUB.... all over the display while booting with USB. kapsikum Linux - General 5 01-08-2010 04:29 AM
Changing GRUB-GRUB, GRUB-LILO and vice versa andreas_skw Linux - Newbie 1 06-05-2008 06:40 AM
Booting my new ubuntu install = "GRUB GRUB GRUB GRUB GRUB" etc. dissolved soul Ubuntu 2 01-13-2007 12:55 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:13 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration