AMD GPU FreeBSD 14-Release

For UEFI boots, loader tunable kern.vtycannot be sc. Only vt is supported.
Technically sc can be set as a kern.vty value. It doesn't interfere with the booting process into multi-user mode, but it wont display system messages, nor would it allow a direct console access anymore.

Immediate after the driver is loaded, the console freezes, no input possible whatsoever. One can access the system by ssh(1) from a external client only.

I happened to observe this in a Virtualbox VM, that the boot process continues, due to the activity (simulated flashing led) coming from the hard disk and the network adapter icons on the status bar.

Even though sc(4) (syscons(4)) can be set as console driver in a UEFI system, I can not imagine a use case for it.
 

Attachments

  • sc-console00.png
    sc-console00.png
    67.8 KB · Views: 50
  • sc-console01.png
    sc-console01.png
    39.2 KB · Views: 50
… I couldn't figure out how to get into single user mode to make change the loader.conf

The breaking change to /boot/loader.conf makes a normal approach to single user mode impossible. somewhat difficult (non-obvious). Apologies for the inconvenience.

Assuming that you chose a ZFS pool (not UFS) for installation, you should be able to:
  1. boot from the installer
  2. choose a shell
  3. have a suitable mount point
  4. use the -R option of zpool-import(8) to make the file systems of the pool available at the mount point
  5. edit the /boot/loader.conf at this point.
(I can't recall how to have a suitable mount point in that context, sorry.)
 
With FreeBSD-15.0-CURRENT-amd64-20240229-7ee47c3bb7a6-268602-disc1.iso written to a USB flash drive, booted from the drive in single user mode:
  1. mount -uw /
  2. /media/altroot can not be created (read-only file system, expected).
I'll try FreeBSD-15.0-CURRENT-amd64-20240307-8c94ed992702-268691-memstick.img instead.
 
I've use the EFI framebuffer flag before but it, then the system just freezes at the bootloader and can't get past that.

Also, on a side note, I couldn't figure out how to get into single user mode to make change the loader.conf after since it froze at the bootloader, so I needed to do a reinstall. Is there a better way repair that file
The breaking change to /boot/loader.conf makes a normal approach to single user mode impossible.
Not true.

No need for an installer media, mounting file systems read/write and/or importing pools (or reinstall system).

At the boot menu, 3. Escape to loader prompt, at the loader prompt use the unset command to deactivate the loader variable:
Code:
OK unset hw.syscons.disable

Boot into multi-user mode, edit file.
Code:
OK boot
 
I couldn't figure out how to get into single user mode to make change the loader.conf after since it froze at the bootloader, so I needed to do a reinstall. Is there a better way repair that file if something goes wrong?
Turn on machine, wait for the FreeBSD logo with boot options listed, and press the space bar, that will pause the 10-second timer and let you study the options. IIRC, Single User mode is #3 or #4...
 
IIRC that will not work until after the file has been corrected.
Not true, this screenie from the Handbook's bsdinstall chapter proves otherwise:
1710094315705.png

You get to that screen first, and then
/boot/loader.conf
gets read in. Well, 'Boot single user' is #2, not what I remembered...

From this screen, if you boot Single User mode, you can rescue the system by manually mounting partitions and using vi to edit the messed-up files like /boot/loader.conf, /etc/rc.conf, and the like. I've done that many times, and there are even good instructions available on these Forums (I found them with Google's help).

And y'know, even in my thread (which does seem to be useful to a lot of people, I'm noticing, 😄 ), in the very second post, I mention that upgrading from 13-RELEASE to 13.1-RELEASE did not work for me, and I had to do a fresh 13.1-RELEASE installation on that rig. I did not say that outright, but Step 1 in that post is a fresh install... I know that sometimes people don't want to do a fresh install. Sometimes that's what it takes to get results, though.
 
Not true, …

Pictured, a truth with 13.3-BETA3:
  • option 2 for single user mode does not lead to a visible single user mode.
I'll upgrade first to 13.3-RELEASE then 14.0-RELEASE to tell whether releases are more resilient to misconfiguration. In the meantime:

… the console freezes, no input possible whatsoever. One can …

Truly, it's visibly frozen, there's no response to things such as keyboard input.
 

Attachments

  • 1710096540558.png
    1710096540558.png
    1 MB · Views: 43
If it's visibly frozen, use an install stick to boot a different version of FreeBSD from that stick (also single user), mount the partitions of the internal disk, fix the file, then boot the internal disk...

If that doesn't work, then a fresh install may be an option...
 
If it's visibly frozen, use an install stick to boot a different version of FreeBSD

It can be the same version …

from that stick (also single user),

… it need not be single user …

mount the partitions of the internal disk,

I'm awaiting advice in Discord (off-topic).

fix the file, then boot the internal disk...

If that doesn't work, …

Removing the offending line will be enough to make the OS bootable again :) and I'm in no rush. This old Mac, not my own, is to be written off (after I'm done testing/reporting).
 
… it need not be single user …
It does need to be single user if you want to manually mount the partitions - that's because if you boot an installer stick multi-user, it will try to start a fresh install of FreeBSD, and not really let you launch a rescue environment until MUCH later in the process.


mount the partitions of the internal disk,
I'm awaiting advice in Discord (off-topic).
There are actually posts on the Forums that detail how this is done... 😅 I even took notes from a post that disappeared later...

if commenting out the offending line is all it takes, I'd take the opportunity to practice a skill.
 
At the boot menu, 3. Escape to loader prompt, at the loader prompt use the unset command to deactivate the loader variable:
Code:
OK unset hw.syscons.disable
hw.syscons.disable does not seem to be present on 13.2-RELEASE... or is sysctl giving me bull by not listing everything? 😲
 
Can you link to one? Thanks.
Post is long gone, but here are the instructions from it:
  1. Boot install stick, start shell, not installer.
  2. # zpool list
  3. # gpart show (find slice labeled freebsd-zfs)
  4. # mkdir /tmp/mydata
  5. # zpool import -fa -R /tmp/mydata
  6. # zfs mount zroot/ROOT/default (from step 2)
  7. # cd /tmp/mydata/boot/
  8. # vi loader.conf
I think this should still work, even though I had to dig up something I wrote on paper about 4 years ago... it was still faster for me to do that than dig up another Forums post... 😅
 
Thanks, I'm familiar with the routine, zpool import finds no pool (is why I asked elsewhere) …
If there's no pool, wouldn't zpool list in step 2 give an error? 😲 what about gpart show ? If there's nothing, then it's time to check the BIOS to see if the internal disk is even visible... And if the internal disk is not visible, then it needs to be replaced, or machine should be written off...
 
Back
Top