14.4 not booting new kernel

I build a new kernel (manually) and it's installed in /boot/kernel and it continues to boot generic. I've verified that my new kernel with a different ident it in /boot/kernel. What has changed since 14.1?

Also in /etc/src.conf I have

WITHOUT_REPRODUCIBLE_BUILD="yes"

and uname is still showing:

FreeBSD dev144 14.4-RELEASE FreeBSD 14.4-RELEASE releng/14.4-n273675-a456f852d145 GENERIC amd64

Why are they torturing me?
 
Could you please post your kernel config?

and uname is still showing:

FreeBSD dev144 14.4-RELEASE FreeBSD 14.4-RELEASE releng/14.4-n273675-a456f852d145 GENERIC amd64
I believe it shows GENERIC because according to the title of your post, your new kernel refuses to boot (I don't know what it means exactly), and thus, if you managed to boot in and check the system version, it means that you're running a GENERIC.
 
Also (just in case): can you be sure that your kernel is indeed installed in /boot/kernel?

Try this: strings /boot/kernel/kernel |grep -E '^ident'
 
The correct kernel is in /boot/kernel

loader.conf is empty.

# sysctl kern.bootfile
kern.bootfile: /boot/kernel.generic/kernel

I renamed the original kernel to kernel.generic and it's booting that kernel, but I never specified this anywhere. After posting this I renamed it again to something else, then it booted my kernel in /boot/kernel, which is the setting in /etc/loader.conf

I just don't know how it found /boot/kernel.generic? I merely did this

rename /boot/kernel to /boot/kernel.generic
install new kernel
reboot
 
The "beasty" menu allows you to select the kernel, did you select kernel.generic there perhaps?
 
The "beasty" menu allows you to select the kernel, did you select kernel.generic there perhaps?
Is that saved anywhere after the selection?
I know that a selection like this is often saved.
If it does get saved that could be why OP defaults to booting it.
 
Don't think so. loader(8) has just enough logic to read a filesystem, but that's about it. Maybe it's stored in an efivar(8)?
That would make sense and as you point out, stop boot, select kernel (specifically the new one) try to boot. Then do a reboot. If one stays on the new kernel, that would strongly imply saving somewhere.
It's been a while since I've needed/desired to build a custom kernel so my memory is old on this.

Situations like this are why I hate a short timeout on boot menus. I understand 5-nines and wanting to reboot as quickly as possible, but the difference between 1 sec and 5 sec is only 4 sec and I hate blindly hitting a key during the 0 to 1 sec interval (I've had displays that take a bit to wake up and switch inputs)
 
It's been a while since I've needed/desired to build a custom kernel so my memory is old on this.
Most of my systems run a -RELEASE with the GENERIC kernel, easy to update with freebsd-upgrade(8). I do have a few systems running -STABLE with a custom kernel, but I rarely mess those up, and I'm capable enough to recover if I do.

I understand 5-nines and wanting to reboot as quickly as possible
Those 5-nines are for a service, not a server. Subtle, but important, difference.
 
Most of my systems run a -RELEASE with the GENERIC kernel, easy to update with freebsd-upgrade(8). I do have a few systems running -STABLE with a custom kernel, but I rarely mess those up, and I'm capable enough to recover if I do.


Those 5-nines are for a service, not a server. Subtle, but important, difference.
Agreed on the service/server, but if the service is on a redundant server, one wants the backup server to reboot as quickly as possible to provide the required SLA on the service.

:)
 
A typical POST on a decent server with a big HBA or RAID card will take a lot longer than those 4-5 seconds you gained by adjusting the boot timer 😁 It'll help on a typical VM though, those things (re)boot fast.
 
  • Like
Reactions: mer
No. It never booted from kernel.generic kernel.generc text exists nowhere in the /boot or /etc directory trees.

/boot/kernel is a link. I have different kernels and I flip the link to boot a dffierent kernel. Something has changed; I've been doing thing this way forever. I didn't have this problem on 14.3
 
Back
Top