If you plan to use GRUB2 as a system bootloader (installed to MBR), then you need to create /etc/grub.d/40_custom
file with the following content:
#!/bin/sh
exec tail -n +3 $0
menuentry "Haiku on partition HDD 1, partition 3" {
insmod part_msdos
insmod chain
chainloader (hd1,3)+1 # adjust values for (hd1,3) to disk number and partition number
}
Only after that, update-grub
will add Haiku to boot menu. If the file /etc/grub.d/40_custom
already exists, just append menuentry
item to it. In this configuration you don’t need Haiku’s Bootman.
If you plan to use Bootman as system bootloader, then it only can detect Linux bootloader, not Linux kernel. In this case you need to install GRUB2 to Linux partition (opposite to whole disk), that is, to /dev/sda3
(3 is a partiton number) rather than to /dev/sda
.
I am complete confident GRUB2 is capable of being able to install to ext4 partition, as well as ext3, etx2 and almost any other filesystem from Linux ecosystem. (And I am sure GRUB2 can distinguish ext4 from ext2). So your problem seems to me as corrupted partition or wrong path to install GRUB2. But just in case, there is also GRUB Legacy, LILO, ISOLINUX bootloaders which can be used instead.