Hi,
As I tried many unseccessful combinations of LILO and NTLDR+BOOTPART to
multiboot various versions of Linux/WindowsNT, I discovered GRUB which
appeared to be the _solution_.

My disks configuration (output of fdisk -l /dev/xxx):

Disk /dev/hda: 255 heads, 63 sectors, 2482 cylinders
Units = cylindres of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1         1      8001    1  FAT12
/dev/hda2             2      2482  19928632+   5  Extended
/dev/hda5             2       262   2096451    7  HPFS/NTFS
/dev/hda6           263       523   2096451    7  HPFS/NTFS
/dev/hda7           524      1160   5116671   83  Linux
/dev/hda8          1161      1176    128488+  82  Linux swap
/dev/hda9          1177      1698   4192933+  83  Linux
/dev/hda10         1699      2220   4192933+  83  Linux
/dev/hda11         2221      2481   2096451    7  HPFS/NTFS
/dev/hda12         2482      2482      8001   83  Linux

Disk /dev/hdc: 255 heads, 63 sectors, 523 cylinders
Units = cylindres of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdc1   *         1        65    522081   83  Linux
/dev/hdc2            66       196   1052257+   5  Extended
/dev/hdc3           197       327   1052257+  83  Linux
/dev/hdc4           328       523   1574370   83  Linux
/dev/hdc5            66       196   1052226   83  Linux

Disk /dev/hdd: 16 heads, 63 sectors, 39693 cylinders
Units = cylindres of 1008 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdd1   *         1       255    128488+  83  Linux
/dev/hdd2           256     39685  19872405    5  Extended
Partition 2 does not end on cylinder boundary:
     phys=(1023, 5, 63) should be (1023, 15, 63)
/dev/hdd5           256       510    128488+  82  Linux swap
/dev/hdd6           511      2598   1052226   83  Linux
/dev/hdd7          2598      4686   1052226    7  HPFS/NTFS
/dev/hdd8          4686     13005   4192933+  83  Linux
/dev/hdd9         13006     21325   4192933+  83  Linux
/dev/hdd10        21325     29644   4192933+   7  HPFS/NTFS
/dev/hdd11        29644     39685   5060443+  83  Linux

Disk /dev/sda: 255 heads, 63 sectors, 555 cylinders
Units = cylindres of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1        17    136521   83  Linux
/dev/sda2            18       555   4321485    5  Extended
/dev/sda5            18        34    136521   82  Linux swap
/dev/sda6   *        35       100    530113+  83  Linux
/dev/sda7           101       362   2104483+  83  Linux
/dev/sda8           363       493   1052226   83  Linux
/dev/sda9           494       555    497983+  83  Linux

Screen output, using  GRUB shell:

# grub
Probing devices to guess BIOS drives. This may take a long time.

    GRUB  version 0.5.96  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB

   lists possible command completions.  Anywhere else TAB lists the
possible
   completions of a device/filename. ]

grub> root (hd
 Possible disks are:  hd0 hd1 hd2 hd3

grub> root (hd0,
 Possible partitions are:
   Partition num: 0,  Filesystem type is fat, partition type 0x1
   Partition num: 4,  Filesystem type unknown, partition type 0x7
   Partition num: 5,  Filesystem type unknown, partition type 0x7
   Partition num: 6,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 7,  Filesystem type unknown, partition type 0x82
   Partition num: 8,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 9,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 10,  Filesystem type unknown, partition type 0x7
   Partition num: 11,  Filesystem type is ext2fs, partition type 0x83

grub> root (hd1,
 Possible partitions are:
   Partition num: 0,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 2,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 3,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 4,  Filesystem type is ext2fs, partition type 0x83

grub> root (hd2,
 Possible partitions are:
   Partition num: 0,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 4,  Filesystem type unknown, partition type 0x82
   Partition num: 5,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 6,  Filesystem type unknown, partition type 0x7
   Partition num: 7,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 8,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 9,  Filesystem type unknown, partition type 0x7
   Partition num: 10,  Filesystem type is ext2fs, partition type 0x83

grub> root (hd3,
 Possible partitions are:
   Partition num: 0,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 4,  Filesystem type unknown, partition type 0x82
   Partition num: 5,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 6,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 7,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 8,  Filesystem type is ext2fs, partition type 0x83

grub>

As it can be seen, my SCSI disk is perfectly detected under GRUB shell.

Hardware:
(hd0)

# cat /proc/ide/ide0/hda/{capacity,driver,geometry,model,settings}
39876480
ide-disk             version        1.08
physical             16383/16/63
logical              2482/255/63
QUANTUM              FIREBALL       CX20.4A
name                 value          min max        mode
----                 -----          --- ---        ----
bios_cyl             2482           0   65535      rw
bios_head            255            0   255        rw
bios_sect            63             0   63         rw
breada_readahead     4              0   127        rw
bswap                0              0   1          r
file_readahead       124            0   2097151    rw
io_32bit             0              0   3          rw
keepsettings         0              0   1          rw
max_kb_per_request   64             1   127        rw
multcount            0              0   8          rw
nice1                1              0   1          rw
nowerr               0              0   1          rw
pio_mode             write-only     0   255        w
slow                 0              0   1          rw
unmaskirq            0              0   1          rw
using_dma            0              0   1          rw

(hd1)

# cat /proc/ide/ide1/hdc/{capacity,driver,geometry,model,settings}
8404830
ide-disk             version        1.08
physical             8894/15/63
logical              523/255/63
ST34321A
name                 value          min max        mode
----                 -----          --- ---        ----
bios_cyl             523            0   65535      rw
bios_head            255            0   255        rw
bios_sect            63             0   63         rw
breada_readahead     4              0   127        rw
bswap                0              0   1          r
file_readahead       124            0   2097151    rw
io_32bit             0              0   3          rw
keepsettings         0              0   1          rw
max_kb_per_request   64             1   127        rw
multcount            0              0   16         rw
nice1                1              0   1          rw
nowerr               0              0   1          rw
pio_mode             write-only     0   255        w
slow                 0              0   1          rw
unmaskirq            0              0   1          rw
using_dma            0              0   1          rw

(hd2)

# cat /proc/ide/ide1/hdd/{capacity,driver,geometry,model,settings}
40011300
ide-disk             version        1.08
physical             16383/16/63
logical              39693/16/63
ST320423A
name                 value          min max        mode
----                 -----          --- ---        ----
bios_cyl             39693          0   65535      rw
bios_head            16             0   255        rw
bios_sect            63             0   63         rw
breada_readahead     4              0   127        rw
bswap                0              0   1          r
file_readahead       124            0   2097151    rw
io_32bit             0              0   3          rw
keepsettings         0              0   1          rw
max_kb_per_request   64             1   127        rw
multcount            0              0   16         rw
nice1                1              0   1          rw
nowerr               0              0   1          rw
pio_mode             write-only     0   255        w
slow                 0              0   1          rw
unmaskirq            0              0   1          rw
using_dma            0              0   1          rw

(hd3)

# dmesg

.../...
(scsi0) <Adaptec AHA-294X Ultra2 SCSI host adapter> found at PCI 0/10/0
(scsi0) Wide Channel, SCSI ID=15, 32/255 SCBs
(scsi0) Downloading sequencer code... 396 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4
       <Adaptec AHA-294X Ultra2 SCSI host adapter>
scsi : 1 host.
(scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 15.
  Vendor: IBM       Model: DDRS-34560D       Rev: DC1B
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
(scsi0:0:1:0) Using asynchronous transfers.
  Vendor: DEC       Model: RRD43   (C) DEC   Rev: 0064
  Type:   CD-ROM                             ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0
scsi : detected 1 SCSI cdrom 1 SCSI disk total.
Uniform CDROM driver Revision: 2.56
SCSI device sda: hdwr sector= 512 bytes. Sectors= 8925000 [4357 MB] [4.4
GB]
.../...

As a step toward total migration to GRUB, I decided to firstly install
GRUB on floppy disk. After many newbie errors, I ended up using the
attached script found on an Mandrake distribution (slightly modified),
with attached output and using attached configuration file.

Results are as expected for booting WindowsNT from (hd0) and Linux from
(hd1,0), (hd2,0) but (hd3,5) fails saying like "the disk doesnt exist".
By entering the shell and entering "root (hd<TAB>", it displays only
(hd0) (hd1) (hd2). Entering "root (hd3,<TAB>" also fails of course.

Sorry for the verbosity - I hope I'm in accordance with the "Reporting
bugs" section of docs I just read.
I compiled GRUB checkout from cvs.

Regards

--
Gilles-Claude Rajaobelina \\\///   | [EMAIL PROTECTED]  |
GNU'ries                  (o  o)   | http://perso.wanadoo.fr/gcr \\\///|
78340                  oOO--(_)-OOo| Tel:(33)01.xx.xx.xx.xx      (o  o)|
Les Clayes sous Bois, FRANCE       | Fax:(33)01.xx.xx.xx.xx oOO-(_)-OOo|


#!/bin/bash
## creates a boot.img file in the current directory
## this file contains a generic grub boot floppy
## just create the floppy with dd if=./boot.img of=/dev/fd0

## B. Bodin january 2000

[[ "$UID" == "0" ]] || {
    echo "You should be root"
    exit 1;
}
GRUB=$(type -p grub)
[[ -z "$GRUB" ]] && {
    echo "grub not found in your path"
    exir 1;
}

echo "Making grub on floppy, using $($GRUB --version)"

grubdir=${grubdir:-/usr/local/share/grub/i386-pc}
mount_point=/tmp/floppy
image=boot.img

rm -rf $image $mount_point
dd if=/dev/zero of=$image bs=1k count=1440
/sbin/mke2fs -F $image  >> /dev/null
mkdir -p $mount_point
mount  -o loop -t ext2 $image $mount_point
mkdir -p $mount_point/boot/grub
cp $grubdir/stage1 $mount_point/boot/grub
cp $grubdir/stage2 $mount_point/boot/grub
cp $grubdir/menu.lst.sample $mount_point/boot/grub/menu.lst
echo "View / Edit the configuration file"
#cp /usr/doc/grub-0.5.93.1/menu.lst $mount_point/boot/grub
${EDITOR:-xemacs} $mount_point/boot/grub/menu.lst

umount $mount_point

#$GRUB --batch << EOF >> /dev/null
$GRUB --batch << EOF >> LOG.$(basename $0)
device (fd0) ./$image
install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p
quit
EOF

dd if=./boot.img of=/dev/fd0

    GRUB  version 0.5.96  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename. ]

grub> device (fd0) ./boot.img

grub> install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p

grub> quit

    GRUB  version 0.5.96  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename. ]

grub> device (fd0) ./boot.img

grub> install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p

grub> quit

    GRUB  version 0.5.96  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename. ]

grub> device (fd0) ./boot.img

grub> install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2 p

grub> quit
#
# Sample boot menu configuration file
#

# Boot automatically after 30 secs.
timeout 30

# By default, boot the first entry.
default 0

# For booting Linux
title  GNU/Linux-Mandrake (vmlinuz-2.2.15 on /dev/hdc1)
kernel (hd1,0)/boot/vmlinuz-2.2.15 root=/dev/hdc1 read-only

# For booting Linux
title  GNU/Linux-Mandrake (vmlinuz-2.2.15-4mdk on /dev/hdd1)
kernel (hd2,0)/boot/vmlinuz-2.2.15-4mdk root=/dev/hdd1 read-only

# For booting Linux
title  GNU/Linux-Mandrake (vmlinuz-2.2.13-4mdk on /dev/sda6)
kernel (hd3,5)/boot/vmlinuz-2.2.13-4mdk root=/dev/sda6 read-only

# For booting the GNU Hurd
# title  GNU/Hurd
# root   (hd0,0)
# kernel /boot/gnumach.gz root=hd0s1
# module /boot/serverboot.gz

# For booting Mach (getting kernel from floppy)
# title  Utah Mach4 multiboot
# root   (hd0,2)
# pause  Insert the diskette now!!
# kernel (fd0)/boot/kernel root=hd0s3
# module (fd0)/boot/bootstrap

# For booting FreeBSD (getting kernel from floppy)
# title  FreeBSD
# root   (hd0,2,a)
# kernel (fd0)/kernel

# For booting OS/2
# title OS/2
# root  (hd0,1)
# makeactive
# chainload OS/2 bootloader from the first sector
# chainloader +1
# This is similar to "chainload", but loads a specific file
#chainloader /boot/chain.os2

# For booting Windows NT or Windows95
title Windows NT / Windows 95 boot menu
root (hd0,0)
makeactive
chainloader +1
# For loading DOS if Windows NT is installed
# chainload /bootsect.dos

# For installing GRUB into the hard disk
title Install GRUB into the hard disk (/dev/hdc)
root (hd1,0)
install /boot/grub/stage1 d (hd1) /boot/grub/stage2 p

# For installing GRUB into the hard disk
title Install GRUB into the hard disk (/dev/hdc)
root (hd2,0)
install /boot/grub/stage1 d (hd2) /boot/grub/stage2 p

# For installing GRUB into the hard disk
title Install GRUB into the hard disk (/dev/sda)
root (hd3,5)
install /boot/grub/stage1 d (hd3) /boot/grub/stage2 p

Reply via email to