Unable to boot DesktopBSD off SUSE GrUB

Hi,

I’ve installed FreeBSD (sdc1) and DesktopBSD (sdc4). When I try to boot DesktopBSD it boots FreeBSD.

here is menu.lst

###Don’t change this comment - YaST2 identifier: Original name: other###
title FreeBSD 8.1
rootnoverify (hd2,0)
chainloader +1

###Don’t change this comment - YaST2 identifier: Original name: other###
title DesktopBSD-1.7-amd64
rootnoverify (hd2,3)
chainloader +1

I guess the chainloader boots 1st ufs slice and ignores the other. I’ve installed GrUB in FreeBSD and when I try to boot with different menu ‘configfile /boot/grub/menu.lst’ it returns error 17. This is probably due to inability reading ufs.

Any ideas on how to fix this.

Do the Free BSD’s boot work when you boot from HD2 directly?

I have to map BIOS disks, when booting “another” disk that’s installed expecting to be the “Master” disk.

map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,2)
makeactive
chainloader +1

**** Administrator restricts edits to 10 minutes… so an interruption means additional info couldn’t be added in first response.

I don’t think your theory stands, as I have booted another GRUB off same disk like this :

title Kubuntu GRUB2
rootnoverify (hd0,11)
chainloader +1

That’s reason I suspect you changed the disk boot order.

You could load the BSD Kernels directly using a GRUB UFS module, and have one GRUB menu. But to chainload you do need the BIOS disks set up same as when you installed GRUB on the BSD disk.

I boot 30 OS off SUSE GRUB and I never had any issues other than this.

Let me make this simple -

I installed FreeBSD and DesktopBSD without loader on sdc1 & sdc4. When I try to boot DesktopBSD it boots FreeBSD. Later I installed GRUB on sdc1 off FreeBSD ports. FreeBSD GRUB is not like Linux GRUB, it has got different config files.

Let me configure boot loader from YAST with ‘Do not verify the fs’ option and see how it goes.

Hmmm … I never used DesktopBSD but I assume that it will use the same partition id (0xA5) as FreeBSD. Which one of these two A5 partitions is active then? My guess is that DesktopBSD’s bootloader will take the slice a of the first 0xA5 partition it finds and that is your FreeBSD partition. A dirty hack would be to change (hd2,0) partition ID to something like 0XA6 or 0xA9, respectively OpenBSD and NetBSD. Well, forget about that, it’s a bad hack. The solution is to tell DekstopBSD that it has to boot from (hd2,3,a) and not from (hd2,0,a). So there are 3 possibilities :

  • boot the BSD kernel directly from Grub instead of chainloading the bootsector
root   (hd2,3,a)
kernel /boot/loader

But you might have tried that already and noticed that it didn’t work

  • Give ad?s3a ( or da?s3a ) as parameter to the BSD bootloader, where “?” could be anything from 1 to 8. You never know how FreeBSD (I assume DesktopBSD comes from BSD) organizes hd names, as it depends on BIOS and IDE/SATA controllers. NetBSD and OpenBSD are much cleaner operating systems. IMHO, FreeBSD is almost as bad as Linux (regarding hd devices naming).
  • Recompile DesktopBSD’s kernel and specify the device it has to boot from. It should be possible.
  • Last but no least, install DesktopBSD in the first 0xA5 partition on a different hd from the one where you have FreeBSD installed (kind of simple).

Once is certain: this in not an openSUSE, not even a Grub issue.

You might also try makeactive in Grub.

I’ve tried all sorts of things, the GrUB installed on (hd2,0,a) wont boot, it returns grub error 17. Let me try hiding FreeBSD and then booting DesktopBSD. None of the partitions are active, I’ve removed the boot flag.

DesktopBSD is based on BSD 3.8 kernel. Other possible hack is to move OpenBSD from sdb, install it on sdc4 and installing DesktopBSD/DragonFlyBSD on sdb. By far the best BSD is NetBSD but getting Desktop to work was pain in the butt. I’m bit nervous messing around FreeBSD, have compiled latest kde and it took a while.

This isnt a GRUB issue or openSUSE issue.

You don’t boot Grub in (hd2,0,a), as it is not in slice a. You boot either the BSD kernel directly in (hd2,0,a) or the BSD bootloader in (hd2,0) or Grub if you installed it under BSD. Booting the BSD kernel used to work with some versions of Legacy Grub and is supposed to work again with Grub2 (I’m not convinced however).

It’s not so uncommon that the root device cannot be correctly guessed by the bootstrap code in such situations where you have several BSD disklabels in the same harddrive. Provided hd2 is da2 (which is not sure at all) under DesktopBSD, you could recompile your kernel with the option:

options  ROOTDEVNAME=\"ufs:da2s3a\"

I wrote the “2” in red because it could be another number. Again, I don’t know DesktopBSD … Just the name is already an oxymoron. I wouldn’t trust that one so much. DragonFly on the other hand is a real operating system, the best of all in term of reading/mounting partitions. It uses 16 entries openBSD disklabels for each partition - unlike OpenBSD/NetBSD which are limited to one disklabel per disk and FreeBSD which is limited to 8 slices per partitions. So it can managed 3 x 16 slices ( 3 x 15 actually) in 3 primary partitions … and still read a DOS extended full of Linux partitions… the perfect OS for multibooters. I haven’t installed it for a while though and I doubt it can read ext4. An ext4 module is being added to FreeBSD 9.

Well, the GRUB Legacy in FreeBSD is installed on (hd2,0)

Here is Menu.lst after installing Grub in FreeBSD ‘grub-install /dev/ad8s1’

Boot FreeBSD
   title FreeBSD 8.1
   root (hd2,0)
   kernel /boot/loader  
   makeactive
   savedefault

I first installed DragonFlyBSD but after install I wasn’t able to boot FreeBSD. There were other issues as well (hiemdal). I guess 8.1 is as bad as Ubuntu 9.10. Btw DesktopBSD is based on FreeBSD 7.0 (7 series is better in many ways).

The partition ID’s for FreeBSD, DragonFlyBSD and DesktopBSD are same (165) and that makes whole thing trivial.

This is the geometry -

grub> geometry (hd2)
drive 0x82: C/H/S = 56065/255/63, The number of sectors = 1953525168, /dev/disk
/by-id/ata-ST31000528AS_6VP53TG2
Partition num: 0, [BSD sub-partitions immediately follow]
BSD Partition num: ‘a’, Filesystem type is ufs2, partition type 0xa5
BSD Partition num: ‘b’, Filesystem type unknown, partition type 0xa5
BSD Partition num: ‘d’, Filesystem type is ufs2, partition type 0xa5
BSD Partition num: ‘e’, Filesystem type is ufs2, partition type 0xa5
BSD Partition num: ‘f’, Filesystem type is ufs2, partition type 0xa5
BSD Partition num: ‘g’, Filesystem type is ufs2, partition type 0xa5
Partition num: 1, Filesystem type is jfs, partition type 0x83
Partition num: 3, [BSD sub-partitions immediately follow]
BSD Partition num: ‘a’, Filesystem type is ufs2, partition type 0xa5
BSD Partition num: ‘b’, Filesystem type unknown, partition type 0xa5
BSD Partition num: ‘d’, Filesystem type is ufs2, partition type 0xa5
BSD Partition num: ‘e’, Filesystem type is ufs2, partition type 0xa5

An so something like

rootnoverify (hd2,2)
makeactive
chainloader +1

doesn’t work, either in Linux or in BSD’s Grub?
Does DesktopBSD’s bootloader start and cannot boot because it doesn’t find a valid root device. Or doesn’t the bootloader start at all. If it doesn’t find the root device, escape to a boot prompt and tell it where to boot from …
Might be something like :

2:da(2,a)kernel

But you’ll have to find out the correct syntax and the right number (don’t know if it uses 8 as disk number). If it works, recompiling the kernel as I mentionned before will work.
If the bootloader doesn’t start at all, the easiest would be to reinstall DesktopBSD … or much better install DragonFly instead an always makeactive the partition before booting. Or you could reinstall a bootstrap in the partition (see man bsdlabel under DesktopBSD) but you’ll have to be able to boot in the system first.

Well, when I try to boot DesktopBSD off SUSE GrUB it boots FreeBSD. DesktopBSD (FreeBSD 7.2) doesnt even show up. The trouble is the sub slices that are a, b, d, e, etc. I need to change these but I cant. It is like a to p excluding b & c. I already have 16 partitions on the disk and I cant rename sub-slices. I’ve same scenario on sdb with OpenBSD & NetBSD but I dont have any trouble booting either.

Will like to use DragonFlyBSD over DesktopBSD but if I install that it will mess up FreeBSD, dont want to ruin that post portupgrade of kde 4.5.4_1; which very few were able to do at first place. Other possibility is increasing disk space by 16 gig and installing DragonFly with hammer but I guess DragonFly, FreeBSD & NetBSD have same filesystem hierarchy.

Managed to boot DesktopBSD by hiding (hd2,0) from GrUB cd.

Wonder what needs to be done for booting either without hiding the slice every time I wish to boot.

First you can rename any slice on any partition (for FreeBSD based disklabels) or any drive (for OpenBSD/NetBSD based disklabels) by editing the disklabel with disklabel -e. I don’t rename mounted partitions on a running system though (but you can rename the slices in ad8s1 if you boot another FreeBSD from another partition/disk).

Second if you installed FreeBSD ‘normally’ on (hd2,0), it should have its root partition on ad8s1a. If you installed DesktopBSD ‘normally’ on (hd2,2) it should have its root partition on ad8s3a. Having the root partition on the ‘a’ slice is not required, but that’s where the bootstrap will normally look for the root device. If it is somewhere else you have to specify it at the bootprompt or hard code it in the kernel.

If you didn’t make mistakes (I don’t know) … I would say that maybe DesktopBSD might not be as clean as the other BSDs, ignore the active partition (some Unices care about that, some others don’t) and take the root device of the first 0xA5 partition it finds, your FreeBSD partition. That would explain why you were about to boot it by hiding this partition.

I don’t see a real solution but different hacks. However, recompiling DesktopBSD’s kernel with the option I gave you previously (which has been in the BSD kernel since the beginning) is a solution.

Other hacks/workaround would be :

  • install DesktopBSD on the first 0xA5 partition on a disk. FreeBSD doesn’t care. I have several FreeBSD on the same harddisk in different partitions. This has never been a problem.

  • Try the dirty trick of switching (hd2,0) and (hd2,2) entries in the partition table, so that (hd2,2) would appear as the first partition and (hd0,2) as the third partition. However if the trick works, you’ll have to edit /etc/fstab in both your BSDs before rebooting (change all ad8s1 in ad8s3 and vice versa). And if it does not work and you changed those names in /etc/fstab, you won’t be able to boot FreeBSD … So in the worst case you’ll need a third BSD which can mount your FreeBSD partition in order to repare /etc/fstab.

  • similarly rewrite (hd2,0) and (hd2,2) geometry (and back) from Grub before booting so that your DesktopBSD partition will appear fisrt in the partition table. The partitions offset and size below are of course an example. Same changes apply to /etc/fstab.

###Don't change this comment - YaST2 identifier: Original name: other###
title FreeBSD 8.1
partnew (hd2,0) 0xA5     514080   65593395
partnew (hd2,2) 0xA5   18539010  534016665
rootnoverify (hd2,0)
makeactive
chainloader +1

###Don't change this comment - YaST2 identifier: Original name: other###
title DesktopBSD-1.7-amd64
partnew **(hd2,2)** 0xA5     514080   65593395
partnew **(hd2,0)** 0xA5   18539010  534016665
rootnoverify (hd2,3)
makeactive
chainloader +1 

  • In Linux Grub change the partition ID of (hd0,2) in the entry booting (hd2,2) and back:
###Don't change this comment - YaST2 identifier: Original name: other###
title FreeBSD 8.1
parttype (hd2,0) 0xA5
rootnoverify (hd2,0)
makeactive
chainloader +1

###Don't change this comment - YaST2 identifier: Original name: other###
title DesktopBSD-1.7-amd64
**parttype (hd2,0) 0xA9**
rootnoverify (hd2,3)
makeactive
chainloader +1 

If DesktopBSD is stupid (or clever) enough to look for its root device it what looks like a NetBSD partition (0xA9), try 0xA8 (Darwin UFS) … or 0x63 (GNU HURD) !

Although the third hack works (I’ve been using it on a daily - if not hourly basis - on a half a dozen machines for years), I could not honnestly recommend anyone to rewrite the partition table at any boot as often as I am doing. But I have to admit that I am still alive.

hope it helps and wish you a nice holiday too.

Okay, this is doable. Will work on this tomorrow. I’ve 4 BSD that I can boot, Freesbie live cd and DragonFlyBSD on USB.

I will go with recompiling DesktopBSD kernel and see how it works. Otherwise I will change Partition #.

In NetBSD and OpenBSD tweaking partitions type during install is easy but with GUI installer of DesktopBSD and unorthodox installer of DragonFlyBSD make it difficult.

I never used DragonFlyBSD installer (I suspect that might be the reason why you couldn’t boot FreeBSD afterwards). I wrote a script (dirty, uncommented!) to install DragonFlyBSD on our lan, following the “older” method, as the installer wasn’t still really usable. I couldn’t find the description of this method anymore on DF’s site. Here’s a version of this script after removing the escape sequences for colour output - which would get lost while pasting here.
[ul]
[li]Please, DO NOT use it! It won’t work as it sources other files containing variables for lan specific configuration that you don’t have.
[/li][li]It is hard stuff (uses commands like newfs and suches).
[/li][/ul]But it might provide you with some hints on how to install DragonFlyBSD manually … You could also ask in DF’s forum. I haven’t installed DragonFlyBSD for a while.

#! /bin/csh

set h = $1
if ( $h == "" ) then 
	echo -n "hostname : "
	set host = $<
else
	set host = $h
endif

set fstab = /tmp/fstab.$host
set OS = `uname -s`
set lanconfig = ./$OS/nigli/niginstall.lan

if ( ! -f $fstab ) then
	set hd = (`awk -F ":" '/^ad.:/ { print $1 }' /var/run/dmesg.boot`)
	set bsdhd = ""
	foreach h ( $hd[li] ) 
[/li]		set bsdhd = ( $bsdhd `fdisk -s $h | awk '/0xa5/ { print "'"$h"'" "s" $1 }' | sed 's|:||'`)
	end
	
	if ( $#bsdhd == 0 ) then
		exec cat << EOFERROR1

No suitable partition found.
You should prepare a partition with ID 165 (0xA5)
before installing DragonFly.
Installation cancelled.

EOFERROR1
	else
		set HD = 0
		while ( $HD < 1 || $HD > $#bsdhd )
			printf "
	The following FreeBSD/DragonFly partitions were found:
"
			set i = 1
			while ( $i <= $#bsdhd ) 
				printf "	(%s) %s
" $i $bsdhd[$i]
				@ i++
			end
			printf "	Which one do you want to use for DragonFly ? [1-%s] + Enter
" $#bsdhd
			set HD = $< 
			set isnum = `echo $HD | awk 'BEGIN { isnum = 0 } ; /[0-9]/ { isnum = 1 } ; END { print isnum }'`
			if ( $isnum == 0 ) set HD = 0
		end

		set drv =  $bsdhd[$HD] 
		
		cat << EOFWARN1

	You choosed to install Dragonfly on $drv. 
	All data within this partition will be ERASED !
	Are you sure ?	
	Type YES to proceed.
	Any other answer will cancel the installation.
 
EOFWARN1
		set proceed = `echo $&lt; | tr "[:lower:]" "[:upper:]"`
	
		if ( "$proceed" != "YES" ) then
			exec echo "Installation cancelled"
		endif

		set slices = `disklabel $drv | sed 's|^[ 	]*||' | awk -F ":" 'BEGIN { DRV = "'"$drv"'" } ; /4.2BSD/ { print "/dev/" DRV $1 }'`
		set swap = `disklabel $drv | awk '/swap/ { print $1 }' | sed "s|^|/dev/$drv|;s|:||"`
		printf "# Device	Mountpoint	FStype	Options	Dump	Pass

" > $fstab
		
		if ( $swap != "" ) then
			printf "%s	none		swap	sw	0	0
" $swap >> $fstab
		endif

		set mp = ( "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")	
		set MP

		while ( "$MP" != "done" )
			set i = 1
			while ( $i <=  $#slices )
				printf "	mountpoint for %s (%s) : " $slices[$i] $mp[$i]
				set MP = $<
				if ( "$MP" != "done" ) then
					set mp[$i] = $MP
				else
					break
				endif
				@ i++
			end
		end

		set i = 1
		while ( $i <=  $#slices )
			set dump = 2
			if ( "$mp[$i]" == "/" ) set dump = 1
			if ( "$mp[$i]" != "" ) printf "%s	%s		ufs	rw	%s	%s
" $slices[$i] $mp[$i] $dump $dump >> $fstab
			@ i++
		end
	endif
endif

set root = `awk '/ufs/ { if ( $2 == "/" ) print substr($1,6,6) }' $fstab`


if ( "$root" == "" ) then
	exec cat << EOFERROR2

No "/" mountpoint found in $fstab.
Installation cancelled.

EOFERROR2
endif

set devices = (`awk '/ufs/ { if ( $4 == "rw" && $2 != "/usr/mnt/local/data2" ) print $1 }' $fstab`)
set mountpoints = (`awk '/ufs/ { if ( $4 == "rw" && $2 != "/usr/mnt/local/data2" ) print "/mnt"$2 }' $fstab | sed 's#/$##'`) 

set FORMAT
set fm = ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 )	

while ( "$FORMAT" != "done" )
	set i = 1
	while ( $i <= $#devices )
		set mp = `echo $mountpoints[$i] | sed 's|mnt||;s|//|/|'`
		set dev = $devices[$i]
		printf "	Format device %s (%s) ? [y|n]: " $dev $mp
		set FORMAT = $<
		if ( "$FORMAT" != "done" ) then
			set FORMAT = `echo $FORMAT | tr "[:lower:]" "[:upper:]"`
			if ( "$FORMAT" == "Y" || "$FORMAT" == "YES" ) set fm[$i] = 1
		else
			break
		endif
		@ i++
	end
end

set i = 1
while ( $i <= $#devices )
	set rootdev = `basename $devices[$i]`
	if ( "$rootdev" == "$root" ) then
		if ( $fm[$i] == 1 ) then
			printf "	- formating %s 
" $devices[$i]
			newfs $devices[$i]			
			printf "	- mounting root filesystem
"
			mount $devices[$i]	$mountpoints[$i]		
		else
			exec cat << EOFERROR3

	It doesn't make sens not to format the root partition.
	Installation as canceled. 

EOFERROR3
		endif
	endif
	@ i++
end

# Mount the filesystems.

set i = 1
while ( $i <= $#devices )
	set rootdev = `basename $devices[$i]`
	if ( "$rootdev" != "$root" ) then
		if ( ! -d $mountpoints[$i] ) mkdir $mountpoints[$i]
		if ( $fm[$i] == 1 ) then
			printf "	- formating %s 
" $devices[$i]
			newfs -U  $devices[$i]			
			printf "	- mounting %s 
" $devices[$i]
			mount $devices[$i] $mountpoints[$i]
		endif
	endif
	@ i++
end

echo " - copying files ... Please wait!"
cpdup -v  / /mnt
cpdup -v /var /mnt/var
cpdup -v /etc.hdd /mnt/etc
cpdup -v /usr /mnt/usr

chmod 1777 /mnt/tmp
rm -rf /mnt/var/tmp
ln -vs /tmp /mnt/var/tmp

tar -C /mnt -xvzpf /DragonFly/pkgdb.tgz

if ( -f $fstab ) cp $fstab /mnt/etc/fstab

# cleaning
echo " - cleaning ..."

#echo "hint.acpi.0.disabled=1" > /mnt/boot/loader.conf

unalias rm
rm -fr /mnt/autorun
rm -f /mnt/boot/loader.conf
rm -f /mnt/{README*,autorun*,index.html,dflybsd.ico,boot.catalog}


if ( -e $lanconfig ) then
	source $lanconfig

	if ( ! -f /mnt/etc/hosts.org ) then
		# write /mnt/etc/hosts
		printf "	- writing /etc/hosts ...
"
		if ( -f /mnt/etc/hosts) cp /mnt/etc/hosts{,.org} 

		foreach H ($domain[1])
			set h = `echo $H | tr "[:upper:]" "[:lower:]"`
			if ( "$h" == "$host" ) set isinlan = 1
		end

		if ($?isinlan) then
			printf "::1             localhost.%-13s localhost
127.0.0.1       localhost.%-13s localhost" $DOMAIN[1] $DOMAIN[1] > /mnt/etc/hosts
			set j = 1
			while ( $j <= $#domain ) 
				set Domain = ( $domain[$j] )
				printf "
#" >> /mnt/etc/hosts
				set i = 2
				while ( $i <= $#Domain )
					set H = $Domain[$i] 
					@ k = $i - 1
					if ( "$H" != "-" ) then
						set private = "#PRIVATE"
						set nfs = "	#NFS server"
						set hh = `echo $H | tr -d "-"`
						if ( "$H" == "$hh" ) set private = ""
						set h = `echo $hh | tr "[:upper:]" "[:lower:]"`
						if ( "$hh" == "$h" ) set nfs = ""
						set nfs = "${nfs}${private}"
						printf "
%s.%-4s%-24s%-12s%12s" $DIP[$j] $k "$h.$Domain[1]" $h "$nfs" >> /mnt/etc/hosts
					endif
					@ i++
				end

				if ( $j <= $#vmlan ) then
					printf "
#
#virtual machines" >> /mnt/etc/hosts
					set vHost = ( $vmlan[$j] )
					set i = 2
					while ( $i <= $#vHost ) 
						if ( "$vHost[$i]" != "-" ) then
					 		@ k = $i + 19
					 		printf "
%s.%-4s%-24s%-12s" $DIP[$j] $k "$vHost[$i].$Domain[1]" $vHost[$i] >> /mnt/etc/hosts
						endif
						@ i++
					end
				endif
				@ j++	
			end
			printf "
" >> /mnt/etc/hosts
		endif

		# setting host & domainname
		hostname $host.$mydomain
		domainname $mydomain
		hostname > /mnt/etc/myname
		domainname > /mnt/etc/defaultdomain

		# writting rc.conf
		printf "	- writing /etc/rc.conf ...
"
		cat > /mnt/etc/rc.conf << EOFRCCONF
defaultrouter="$GATEWAY[1]"
hostname="$host.$mydomain"
sshd_enable="YES"
EOFRCCONF

		# writting ntpd.conf
		printf "	- writing /etc/ntpd.conf ...
"
		cat > /mnt/etc/ntpd.conf << EOFNTPDCONF
server "$NTPS[1]"
EOFNTPDCONF

		# writting resolv.conf
		printf "	- writing /etc/resolv.conf ...
"
		if ( -f /mnt/etc/resolv.conf ) mv /mnt/etc/resolv.conf /mnt/etc/resolv.conf.org 
		printf "search %s
nameserver %s
nameserver %s
nameserver %s
" $DOMAIN[1] $DNS[li] > /mnt/etc/resolv.conf
[/li]	
		# get net devices and IPS
		set IP = `sed '/::/d' /mnt/etc/hosts | awk '/'$host'/{ print $1 }' | sed -n "/$DIP[1]/p"`      
		set id = `echo $IP | awk -F "." ' { print $4 }'`
		set ip = ( $IP )
		if ( $?ETH ) set Eth = "$ETH[$id]"

		set eth = ( $Eth )

		set i = 1
		@ j = $#DIP
		while ( $i < $j ) 
			@ i++
			set thisIp  = $DIP[$i].$id
			grep -q $thisIp /mnt/etc/hosts && set ip = ( $ip[li] $thisIp )
[/li]		end

		set i = 0
		while ( $i < $#eth )
			@ i++
			grep -q ifconfig_$eth[$i] /mnt/etc/rc.conf || echo "ifconfig_$eth[$i]="'"'"inet $ip[$i] netmask 255.255.255.0"'"'"" >> /mnt/etc/rc.conf
		end

	endif

	if ( -f /mnt/etc/ssh/sshd_config ) then
		 	grep -q '#PermitRootLogin' /mnt/etc/ssh/sshd_config && sed 's|#PermitRootLogin.*|PermitRootLogin yes|' /etc/ssh/sshd_config > /mnt/etc/ssh/sshd_config
	endif
endif

#
# done !
echo " *************** done! ****************** "

[ul]
[li]The part in red won’t work but shows the steps of network configuration
[/li][li]The part in blue (the most interesting) shows the files you have to copy from the live CD (but again, it’s an old script).
[/li][li]Everything else is my dirty C shell programming.
[/li][/ul]

Now let us both apologize to this forum’s members for such an off-topic thread here. :wink:

Thanks mate, will try my hands on this and report back. I installed DFBSD but it wont boot, the boot halts at chainload.

DF has no forum. There is a mailing list.

DF has a couple newsgroups on its own nntp server: nntp.dragonflybsd.org

Hey, I fixed it -

disklabel -B ad8s4

Then by configuring /boot/grub/menu.lst in SUSE:

rootnoverify (hd2,3)
makeactive
chainloader +1

Its a simple hack, BSD rocks.

Best,

Dave

It’s not a hack. It’s the solution.:wink:

Yeah, excitement caused a slip. Sorry abt that.