Installation to M.2 storage won't boot?

Hi there,
i’ve used the installer to put my USB memory stick beta-5 installation (that runs fine on the hardware in question) onto nonvolatile storage memory on a desktop computer (M.2 i think).

The partition was an extended, ext4, ~168GB, that was made by MX Linux (GParted) that is installed on the same machine.

I formatted the partition to befs from the Haiku installation software.

i had made the modifications to GRUB2’s config files prior to doing the installation. Though i found that Linux calls the partition nvme0n1p3 & Haiku calls it nvme0n1p2 . What effect this has on GRUB2 i do not know?

On trying to boot from the GRUB2 menu, it failed. I went back in via the Haiku USB stick & checked to see if the partition had been made bootable. it had not. So i made it bootable & tried to boot it up again, but still no go?

At this point i do not know what to do next? so any advice is most welcome. if you need specifictions from the machine i will endeavour to supply them for you.

1 Like

Most likely the incorrect disk uuid is set. See the following link for workaround.

I have Haiku installed on 2 systems over nvme

1 Like

Thanks for your reply.

I ran gdisk & it the partition was of course identified as a Linux one. So I changed it to BeFS = eb00 . it still wouldn’t boot.

Though i should mention that gdisk said that the partition was overlapping the adjoining partitions on each side. which is strange because i had some megabytes of empty space on each side.

So currently i’m using GParted to move the partition dead centre (free space wise) between the 1 genuine partitions on one side & the end of the available storage on the M.2 device.

Thus far i’ve seen no errors from GParted, so something screwy is going on here…

Gpt uuid must be set to 42465331-3BA3-10F1-802A-4861696B7521 for Haiku BeFS

The information when i run gdisk the following:

[handy@madder ~]$ sudo gdisk
GPT fdisk (gdisk) version 1.0.9

Type device filename, or press <Enter> to exit: /dev/nvme0n1p3 
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************

Exact type match not found for type code 6100; assigning type code for
'Linux filesystem'
Exact type match not found for type code 7400; assigning type code for
'Linux filesystem'
Exact type match not found for type code 6B00; assigning type code for
'Linux filesystem'
Exact type match not found for type code 6500; assigning type code for
'Linux filesystem'
Warning! Main partition table overlaps the first partition by 34 blocks!
You will need to delete this partition or resize it in another utility.

Warning! Secondary partition table overlaps the last partition by
3490701972 blocks!
You will need to delete this partition or resize it in another utility.

Command (? for help): -t eb00            
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): t eb00
Partition number (1-4): 3
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): eb00
Changed type of partition to 'Haiku BFS'

Command (? for help):

Delete the partition, then recreate ( and format ) it with the Haiku installer.

1 Like

Thanks for your reply @RogFanther.

That is my plan of action. if it still won’t work i’ll add a SATA drive & see if it happier installing onto that.

made a directory via GParted, then booted haiku & formatted it & installed, made it bootable, made sure the /etc/grub.d/40… config file was pointing to the right drive/partition. also used gdisk to make sure the partition is id’d as haiku - eb00 according to the gdisk.

still won’t boot. it is likely cause i’ve got old & dumb… :slight_smile:

Delete grub ?

  1. NVME ssd M.2 internal - only CSM/Legacy bios boot
  2. NVME ssd /USB M.2 box/ external - CSM/Legacy bios and UEFI bios boot

Work fine!

Thank you, i’ll see what i can do with your helpful information tomorrow after i have a sleep. :slight_smile:

1 Like

Use DriveSetup, from the Haiku Installer usb disk. Delete the partition, and recreate it with the right type. After that, format the partition as BeFS and do the installation. Seems you have problems with the partitions settings, or with grub entries.

I will try to check how I configured the grub entries on a machine, but no promises of when. That machine needs a new psu.

1 Like

Also, I do not use gdisk usually, but I believe you should use /dev/nvme0n1 only here. The p3 means a partition, and you want to operate on the disk

1 Like

thanks for reply.

my problem with making the entire disk ID Haiku, is that MX Linux also boots off of it.

Hi, there is a bit too little info to determine wht is wrong. (hence a lot of shot in the dark guesses here…)

Please post your grub2 config and a screenshot of how drivesetup views the disk.

Do you boot via efi or cms/bios?

Thanks for your reply @nephele ,

system info follows (from linux boot):

System:
  Kernel: 6.1.0-26-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1.0-26-amd64
    root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro
  Desktop: Openbox v: 3.6.1 info: tint2 vt: 7 dm: LightDM v: 1.26.0
    Distro: MX-23.4_fluxbox_x64 Libretto October 15 2023 base: Debian GNU/Linux
    12 (bookworm)
Machine:
  Type: Desktop System: Micro-Star product: MS-7D15 v: 2.0
    serial: <superuser required>
  Mobo: Micro-Star model: MAG B560 TORPEDO (MS-7D15) v: 2.0
    serial: <superuser required> UEFI: American Megatrends LLC. v: A.30
    date: 09/09/2021
Battery:
  Device-1: hidpp_battery_0 model: Logitech MX Vertical Advanced Ergonomic
    Mouse serial: <filter> charge: 50% (should be ignored) rechargeable: yes
    status: discharging
Memory:
  RAM: total: 15.5 GiB used: 1.85 GiB (12.0%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges
    required.
CPU:
  Info: model: 11th Gen Intel Core i5-11400F bits: 64 type: MT MCP
    arch: Rocket Lake gen: core 11 level: v4 note: check built: 2021+
    process: Intel 14nm family: 6 model-id: 0xA7 (167) stepping: 1
    microcode: 0x62
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 480 KiB desc: d-6x48 KiB; i-6x32 KiB L2: 3 MiB desc: 6x512 KiB
    L3: 12 MiB desc: 1x12 MiB
  Speed (MHz): avg: 998 high: 3182 min/max: 800/4400 scaling:
    driver: intel_pstate governor: powersave cores: 1: 800 2: 800 3: 800 4: 800
    5: 800 6: 800 7: 3182 8: 800 9: 800 10: 800 11: 800 12: 800
    bogomips: 62208
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling mitigation: Microcode
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: Enhanced IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB:
    conditional; RSB filling; PBRSB-eIBRS: SW sequence; BHI: SW loop, KVM: SW
    loop
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA GP104 [GeForce GTX 1070 Ti] vendor: ASUSTeK driver: nvidia
    v: 535.183.01 non-free: 530.xx+ status: current (as of 2023-03) arch: Pascal
    code: GP10x process: TSMC 16nm built: 2016-21 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0
    chip-ID: 10de:1b82 class-ID: 0300
  Display: x11 server: X.Org v: 1.21.1.7 driver: X: loaded: nvidia
    unloaded: fbdev,modesetting,nouveau,vesa alternate: nv gpu: nvidia
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x1440 s-dpi: 108 s-size: 602x342mm (23.70x13.46")
    s-diag: 692mm (27.26")
  Monitor-1: HDMI-1 res: 2560x1440 hz: 60 dpi: 109
    size: 597x336mm (23.5x13.23") diag: 685mm (26.97") modes: N/A
  API: OpenGL v: 4.6.0 NVIDIA 535.183.01 renderer: NVIDIA GeForce GTX 1070
    Ti/PCIe/SSE2 direct-render: Yes
Audio:
  Device-1: Intel Tiger Lake-H HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel alternate: snd_sof_pci_intel_tgl
    bus-ID: 00:1f.3 chip-ID: 8086:43c8 class-ID: 0403
  Device-2: NVIDIA GP104 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 01:00.1 chip-ID: 10de:10f0 class-ID: 0403
  API: ALSA v: k6.1.0-26-amd64 status: kernel-api tools: alsamixer,amixer
  Server-1: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Ethernet I219-V vendor: Micro-Star MSI driver: e1000e
    v: kernel port: N/A bus-ID: 00:1f.6 chip-ID: 8086:0d4f class-ID: 0200
  IF: eth1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
    v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: 3000 bus-ID: 03:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: eth0 state: down mac: <filter>
  Device-3: Realtek RTL8188FTV 802.11b/g/n 1T1R 2.4G WLAN Adapter type: USB
    driver: N/A bus-ID: 1-3.3:4 chip-ID: 0bda:f179 class-ID: 0000
    serial: <filter>
  IF-ID-1: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A
Drives:
  Local Storage: total: 2.96 TiB used: 184.38 GiB (6.1%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Toshiba
    model: KBG40ZNV256G KIOXIA size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: HP00AE00 temp: 45.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
    model: WD30EFRX-68EUZN0 size: 2.73 TiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 5400 serial: <filter>
    rev: 0A82 scheme: GPT
Partition:
  ID-1: / raw-size: 48.83 GiB size: 47.76 GiB (97.81%) used: 23.3 GiB (48.8%)
    fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 296 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /media/handy/storage raw-size: 2.57 TiB size: 2.52 TiB (98.39%)
    used: 161.08 GiB (6.2%) fs: ext4 dev: /dev/sda1 maj-min: 8:1
Swap:
  Kernel: swappiness: 15 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) priority: -2
    file: /swap/swap
Unmounted:
  ID-1: /dev/nvme0n1p3 maj-min: 259:3 size: 186.66 GiB fs: befs
  ID-2: /dev/sda2 maj-min: 8:2 size: 48.83 GiB fs: ext4
  ID-3: /dev/sda3 maj-min: 8:3 size: 118.84 GiB fs: befs
Sensors:
  System Temperatures: cpu: 44.0 C mobo: N/A gpu: nvidia temp: 41 C
  Fan Speeds (RPM): N/A gpu: nvidia fan: 0%
Info:
  Processes: 308 Uptime: 5h 4m wakeups: 16 Init: SysVinit v: 3.06 runlevel: 5
  default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 12
  Packages: 2881 pm: dpkg pkgs: 2862 libs: 1608
  tools: apt,apt-get,aptitude,nala,synaptic pm: rpm pkgs: 0 pm: flatpak
  pkgs: 19 Shell: worker416531981 default: Bash v: 5.2.15 running-in: sakura
  inxi: 3.3.26

/etc/grub.d/40_custom – follows:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
Haiku on /dev/sda3
menuentry "Haiku" {
	set root=(sda3)
}

/boot/grub/grub.cfg follows:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=1024x768
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_AU
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=5
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
	set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'MX 23.4 Libretto' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
	echo	'Loading Linux 6.1.0-26-amd64 ...'
	linux	/boot/vmlinuz-6.1.0-26-amd64 root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro  
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-6.1.0-26-amd64
}
submenu 'Advanced options for MX 23.4 Libretto' $menuentry_id_option 'gnulinux-advanced-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
	menuentry 'MX 23.4 Libretto, with Linux 6.1.0-26-amd64' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-26-amd64-advanced-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
		echo	'Loading Linux 6.1.0-26-amd64 ...'
		linux	/boot/vmlinuz-6.1.0-26-amd64 root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro  
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-6.1.0-26-amd64
	}
	menuentry 'MX 23.4 Libretto, with Linux 6.1.0-26-amd64 (systemd)' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-26-amd64-init-systemd-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
		echo	'Loading Linux 6.1.0-26-amd64 ...'
		linux	/boot/vmlinuz-6.1.0-26-amd64 root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro   init=/lib/systemd/systemd
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-6.1.0-26-amd64
	}
	menuentry 'MX 23.4 Libretto, with Linux 6.1.0-25-amd64' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-25-amd64-advanced-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
		echo	'Loading Linux 6.1.0-25-amd64 ...'
		linux	/boot/vmlinuz-6.1.0-25-amd64 root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro  
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-6.1.0-25-amd64
	}
	menuentry 'MX 23.4 Libretto, with Linux 6.1.0-25-amd64 (systemd)' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-25-amd64-init-systemd-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
		echo	'Loading Linux 6.1.0-25-amd64 ...'
		linux	/boot/vmlinuz-6.1.0-25-amd64 root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro   init=/lib/systemd/systemd
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-6.1.0-25-amd64
	}
	menuentry 'MX 23.4 Libretto, with Linux 6.1.0-13-amd64' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-13-amd64-advanced-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
		echo	'Loading Linux 6.1.0-13-amd64 ...'
		linux	/boot/vmlinuz-6.1.0-13-amd64 root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro  
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-6.1.0-13-amd64
	}
	menuentry 'MX 23.4 Libretto, with Linux 6.1.0-13-amd64 (systemd)' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-13-amd64-init-systemd-2e2ba9ca-7e15-4c42-8452-0fe9389cae82' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
		echo	'Loading Linux 6.1.0-13-amd64 ...'
		linux	/boot/vmlinuz-6.1.0-13-amd64 root=UUID=2e2ba9ca-7e15-4c42-8452-0fe9389cae82 ro   init=/lib/systemd/systemd
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-6.1.0-13-amd64
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
if [ "${grub_platform}" == "efi" ]; then
   if [ "${grub_cpu}" == "x86_64" ]; then
true
menuentry "Memory Test (64-bit UEFI)" {
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root 2e2ba9ca-7e15-4c42-8452-0fe9389cae82
	chainloader	/boot/uefi-mt/mtest-64.efi
}
  fi
fi
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
	fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
Haiku on /dev/sda3
menuentry "Haiku" {
	set root=(sda3)
}
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

I’ll boot into the haiku USB stick & add more info in the next post. i am currently trying to boot haiku from a SATA HDD partition on which it is installed.

From your previous troubles, is this not missing the “chainloader +1” line?

Also the root should be root=(hd0,2) judging by your previous problem.

1 Like

Thanks again,

I had to delete the line chainloader +1 as it was displayed as an error (on boot by grub if i recall correctly).

& yes, i was just looking at drive setup, & i realised that was calling the drive the wrong way for grub.

Do you use the hd0, method for the nvme** type of drive too in grub. this is my first machine that uses this that i’ve had to congigure.

i can see that the reason chainloader failed would have been my incorect drive designation. i’ll change that & see how i go.

thanks again

it still won’t boot.

I think i’ll give up now. i’ve got old & my brain doesn’t work so well. i believe that is the main source of the problems that i’m having here.

I will just use Haiku on the USB stick & see how easy it is to install when the next beta comes out.

thanks to all for their patient help. :slight_smile:

1 Like

May I recommend rEFInd instead of grub.

It detects and works with Haiku, is a graphical boot manager (even has a Haiku icon), and works well with Linux/MacOSX. I have never had issues with rEFInd, while grub is temperamental. Best of all, rEFInd can chainload grub so you have nothing to lose by installing rEFInd (which should be available with your Linux package manager).

You can see a video of rEFInd in action on my boxes with Haiku.

3 Likes

Seems you are using conflicting numbering schemes between grub and bios. Also, there is a line in your grub.cfg

that is not a command neither commented, and that may cause grub to abort parsing the config files early.

2 Likes