Since you use update-grub from ubuntu
- In ubuntu, create a file 09_custom_arch in /etc/grub.d
- add this code inside
#!/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.
menuentry "Arch Linux" {
insmod ext2
set root=(hd0,6)
linux /vmlinuz26 root=/dev/sda7 ro quiet rootdelay=1
initrd /kernel26.img
}
- verify/tune the boot parameters "set root =" and "linux /vmlinuz26 <parameters>" (according to your post, what I wrote is correct) and set the file to executable
Now grub will have the correct entry when you do update-grub
Some cosmetic bonuses:
edit the file /etc/default/grub
add this line GRUB_DISABLE_OS_PROBER="true" (os-prober tries to add every combination of detected kernels and wannabe root partitions on your hard-drive, most of them not working and it's a nice mess with multi-OS)
menuentry "ArchLinux" {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos6)'
linux /vmlinuz26 root=/dev/sda7 ro single
echo 'Loading initial ramdisk ...'
initrd /kernel26.img
}
my error was putting the device the boot partition was on in the /vmlinuz26 root line
thanks for the help