Solved Installation of Freebsd on Kimsufi (OVH) - Failing to boot

Hello,

I ordered a server at OVH - kimsufi line - that I'm trying to install FreeBSD on since OVH no longer supports this installation.
After following some guides online, I managed to boot the server in rescue mode, ssh to it and perform the install via QEMU, which worked fine all the way through.

However, once it's finished, I set the server to boot from the hard drive and the system doesn't boot, I'm then dropped into a UEFI shell.

1702408145128.png


I've checked the partition table on QEMU and it all seems to be referencing to GPT instead of MBR, so I'm not sure what else to do, it seems that the grub for whatever reason is not installed:

1702408000378.png


Is anyone able to shed some light on the cause and possible solution?

Thanks!
 
If you get dropped to the UEFI shell then the system is likely configured to UEFI boot. Your disk is configured for CSM aka BIOS boot. You need an efi partition and /boot/loader.efi copied to an appropriate location on that efi partition.

Or enable CSM boot, if you have that option.
 
Forgive my ignorance, but I don't quite follow what you mean.
The system is indeed configured to boot UEFI as for my hard drive I'm not quite sure how can I check it including how can I access this EFI partition?

(I don't believe I have an option to enable CSM boot)

Thanks
 
The freebsd-boot partition contains the boot code to boot a CSM booting system. UEFI boot works quite differently. It uses an efi partition (specific partition type) but is formatted with FAT32. By default a x86_64 system will look for a file called EFI/BOOT/Bootx64.efi in that FAT32 EFI partition. That bootx64.efi file is a copy of /boot/loader.efi. See uefi(8).
 
It does look like efi indeed, I overlooked it but during boot I also get this:

1702410526547.png


But how do I install it? When I look at my /boot (via qemu) I see all these efi files:

1702410792756.png


The /boot/loader.efi is there, but I'm not sure how to install it and where the EFI/BOOT/Bootx64.efi is located, perhaps I can retrieve from the UEFI shell?
 
Simplest is probably to re-do the installation. You can select the boot method where it asks for the partitioning scheme. Make sure it's selected to "GPT (UEFI)", it probably defaults to "GPT (BIOS)". You could also pick "GPT (UEFI+BIOS)", which will create both efi and freebsd-boot partitions.
 
This has been in front of me the whole time and I overlooked it, many, many thanks, now I'm finally able to boot it. 🍾
However, while booting, I'm getting spammed with lots of ichsmb0 irq messages to the point that the terminal is becoming somewhat unusable, I can't see the output of any commands as the messages are simply flooding the terminal:

1702473497489.png


Any idea on what might be causing this?
 
Found this, you can try it :
Devices based on “ADI” or “RCC” hardware, such as the 4860, 8860, and potentially other similar models, may have issues with the ichsmb0 and/or ehci0 devices encountering an interrupt loop, leading to higher than usual CPU usage (NG 8916). This can typically be worked around by disabling the affected device. For example, by placing the following in /boot/loader.conf.local: hint.ichsmb.0.disabled=1
 
This has been in front of me the whole time and I overlooked it
It's difficult to see if you don't know what to look for. You simply didn't know there was a difference between UEFI and CSM boot and it required a slightly different setup. Good to hear it's now working.
 
It's difficult to see if you don't know what to look for. You simply didn't know there was a difference between UEFI and CSM boot and it required a slightly different setup. Good to hear it's now working.

I did not, indeed.
I guess this is a prime example of the motto on your signature - "Experience is something you don't get until just after you need it." :)

(and thanks again for the help, I've spent too much time on this)

Found this, you can try it :


Thanks for pointing that out, I don't have a /boot/loader.conf.local as stated in the doc you just referenced, so I assume in my case this should default to /boot/loader.conf instead?
 
Just create the file if it doesn't exist (it shouldn't). Adding them to loader.conf would work too. That *.local file is just one of the files it'll read when processing these variables and settings.
 
This fixed the problem, no more "ichsmb0: irq 0x9e during -1" messages.

But from my perception, this simply disables the loop of messages I'm not sure how safe it would be to ignore them entirely as they probably mean to alert on something?
 
And one last question before I stop nagging you all :D

I'm trying to configure static ipv6, but I can't get it to work.

Below is the corresponding extract of my /etc/rc.conf:

Code:
(...)
ipv6_activate_all_interfaces="YES"
ifconfig_igb0_ipv6="inet6 2001:41d0:a:1a59::1 prefixlen 64 accept_rtadv"

But it doesn't seem to work after the interface is restarted:

Code:
~ # ping6 google.com
ping6: UDP connect: No route to host

Any ideas on what I might be missing?
 
Last edited by a moderator:
Code:
ipv6_activate_all_interfaces="YES"
Don't need this.

Code:
ifconfig_igb0_ipv6="inet6 2001:41d0:a:1a59::1 prefixlen 64 accept_rtadv"
Remove the accept_rtadv, that's to enable SLAAC. Which is the opposite of static addresses.

Code:
ping6: UDP connect: No route to host
If you set static addresses you're going to need to set the gateway too; defaultrouter_ipv6="2001:xxxx:xxxx:xx"
 
Back
Top