Help Needed - NomadBSD boots to a completely black screen

Hi, I’m in dire need of assistance with my NomadBSD. I’m a first-time user and I know absolutely nothing at all about BSD and I’m hoping that I can get some suggestions and instructions on how to resolve the issues I’m having getting it to run and boot to a proper GUI.

The problem I am having is NomadBSD seems to just boot to a totally black screen. I have no idea how long it takes for it to get going when I first start it up or what commands I need to enter at the initial start prompt to ensure it starts up correctly.

I managed to kind of solve a problem I was having with it failing to continue booting (NomadBSD would quit with an “Error 2”), but now it gets to a black screen and seems to stop there with no obvious indication that it’s still running or totally crashed. I’ve tried the “fixes” for AMD/ATI GPUs in the handbooklet, but that isn’t working. I am unsure if the issue is due to user error, a corrupted image file or a bad USB thumb drive (though I doubt the drive is at fault since it had a functioning image of Linux Mint Cinnamon 19 on it just prior to me re-flashing it with NomadBSD).

I am trying to run Release 14.1 and my system specs are as follows:

CPU: AMD Ryzen 7 4800H, 8 Cores/16 Threads
Discrete GPU: AMD Radeon 5500M (Navi 14 XTM)
Integrated GPU: AMD Radeon Vega (Renoir Mobile APU)
RAM: 16 GB
Host OS: Microsoft Windows 10 Home 22H2

The type of system is an MSI Bravo 17 laptop, model number A4DDR. I don’t have a separate monitor with HDMI to verify if NomadBSD is actually functioning and I’m simply stuck in external video out mode. I don’t want to just give up on NomadBSD, but I’m at a loss and would really appreciate some expert advice and suggestions. Thank you in advance.

1 Like

Hi Stephen, and welcome to the NomadBSD community.

My AMD Ryzen7 7840HS with AMD Radeon 780M is somewhat similar, and runs at 144 Hz in NomadBSD.

What does /var/run/dmesg.boot say, what does dmesg | ugrep gpu report to you?

If a terminal is unavailable, try exploring your system by rebooting in a single user mode.

Hi @vladas and thank you.

How do I do that exactly? I tried running NomadBSD both in single user and in multi-user and I get the same thing. Do I just type those commands in at the loader prompt, after selecting option 3 at startup?

@vladas Since I haven’t heard back from you regarding how to go about doing what you suggested I do, I decided to experiment on my own. I’m gonna try to be as polite and civil as I can, but you must know that I find this sort of abandonment more than a little frustrating, if you get my drift. Here is what I tried so far (Screenshots are being provided to hopefully illuminate what I’m experiencing, please excuse my absolutely horrid camera hand. I had no time to prototype it to scale or test it before using. WYSIWYG):

1 - Here is what I see if I boot into Single User mode.

As you can see, I am actually getting to what I think is the terminal you are referring to. If I type 2 at the initial prompt screen, this is where I end up. You may notice the two WARNINGS talking about how NomadBSD wasn’t dismounted properly and the device not having TRIM. The first is due to me having no other option than to FORCE POWER OFF by pressing and holding the power button until my computer turns itself off. The same thing as would happen if you did this on a hung Windows system. The other one about there being no TRIM, that’s because it’s a cheap 32 GB “Energizer” branded (not sure how legitimate either of those are…) USB 2.0 thumb drive. Please ignore those two warnings for the moment being. However, if I type 1 at the initial boot prompt, NomadBSD does its thing with lots of fast-scrolling text that’s going by way too fast for any sane human being to read much less process and ultimately end up with a completely black screen, which forces me to hard restart and the cycle repeats. Ad infinitum.

2 - Now, if I instead type 3 at the initial boot prompt, this happens:

Note how I have tried typing in your commands and how NomadBSD tells me that the commands are “unknown”. Why is this? Why would these be “unknown” commands here? I don’t know, but that’s what it tells me. Remember I said that I kind of figured out how to get it to sorta finish booting. That’s because I found THIS command…

set kern.cam.boot_delay=20000
boot

…on the FreeBSD forums via a DuckDuckGo (or Google, didn’t try Google) search from my browser. Typing THIS in at the boot prompt effects a delay that allows the thing to continue booting without failing out with Error 2. Was I supposed to type your “ugrep gpu” command here, or somewhere else? You haven’t answered me, so I don’t know, hence my shotgun experimentation. Moving on…

3 - Since the commands you gave me aren’t seemingly recognized, I decided to type ?. This is what I get in reply:


This is the list of all the available commands I can type in at this prompt. I mean, I guess I could just waste time shotgunning all these just to see what they do, but that seems inefficient and I’m rather daunted, so I type in “help”. This is what I see from “help”:

Yeah, not very helpful in this case, but thanks for trying.

4 - So I decide to reboot yet again. I then type 7 and I get this:

Notice that I have changed options 3 and 4 to YES. I was hoping that I could effect a change, but nope. Once I go back to the boot screen and hit Enter, it starts up booting in what I assume is Multi-User Mode and I get right back to that damned black screen again! So once again, I have to manually hard reboot my laptop, adding another “improperly unmounted” in the log.

5 - So, out of exasperation, I hit 2 again and I get to the terminal (at least that’s what I’m assuming this screen is):

I type in “reboot” where it says “Enter full pathname of shell or RETURN for /bin/sh:”. And of course, as Murphy’s Law would dictate I get “2025-04-29T06:47:28.093468+00:00 - init 19 - - can’t exec reboot for single user: No such file or directory”, as you see here. But of course, it lets me reboot AFTER doing that! So I do…

6 - One reboot later, I try typing in your commands again, this time at the same terminal screen like this:

And I an denied permission instantly! It even goes on to claim that it cannot even find “ugrep”!! FML!

So, it’s at this point where I have decided to place NomadBSD on the back burner at least until you or somebody can give me better guidance than to “try exploring your system in single user mode”. Which I can do, don’t get me wrong! But I then must ask WHAT? WHAT do, or should, I explore for? I know nothing about BSD, full stop. Never used it before. I’m not entirely unwilling to learn something new once in a while (really, that could be a good thing for a 45-year-old wanting to get away from Microsoft and their incessant attempts at stealing as much as they can from the user).

But, I’m not going to learn without a good teacher and I frankly have other things I want to do in life than fritter away in a terminal getting nowhere fast with a operating system I had hoped would make an interesting backup plan in case Linux fails me (or at least something to play with if nothing else). I had no real plans to use NomadBSD as my main OS. THAT’S the role of Linux Mint (or another suitable alternate flavor). And I deeply apologize if I’m coming off as petulant or contrarian. Some of my “heroes” are petulant and contrarian to a tee, namely one certain Louis Rossmann who says a lot of things about Right to Repair and Right to Own that I fully support and agree with. I’m just not his level of driven or motivated and that shows in my being unmarried and unemployed at 45 (I know, off-topic, I shouldn’t be mentioning that here, SUE ME).

So, if anyone is interested in helping me and explain what things I need to be doing to get my particular NomadBSD image booting up correctly, I all eyes and ears. Otherwise, I’m putting this on the back burner until either I get what help I’m asking for or a book about BSD or I decide it’s not really worth it and give up. Apologies for the rambling wall of text.

Sorry, I am neither a programmer nor a sysadmin, just a Unix newbie who moved here only a year ago from MS Windows - I have much less knowledge of BSD than you. I have also suddenly fallen ill, and I am only now starting to read and write a little.

Yes, this should not be a hurdle.

Enter full pathname of shell or RETURN for /bin/sh:

OK, accept this default shell sh by [Enter] (Return) button of your keyboard.

lots of fast-scrolling text that’s going by way too fast

No problem, all this text is saved in the file /var/run/dmesg.boot. Call it up by command dmesg or just the excerpt about your graphics detection:

> dmesg | grep gpu
> dmesg | grep Radeon

Sorry for ugrep in my previous message - my bad, I am using a slightly enhanced version of grep, which is not included in the original NomadBSD, so the answer was unknown command.

There is also the diagnostic utility pciconf, try

> pciconf -lv | grep "display" -A1 -B3

But I doubt that dmesg and pciconf answers will be enough to find the cause. It would take a specialist, I was hoping someone from the more serious NomadBSD community would respond to you. Try asking in the general FreeBSD forum.

You have that WARNING, “‘/’ was not properly dismounted” in a search engine gives WARNING: / was not properly dismounted (12.2) | The FreeBSD Forums
Are you still willing to learn how to check the status of the filesystem you are trying to run the command from? Alternatively, to make a 2nd usbkey to test how to save a system and debug the 1st key?
Do not see this as lost time, everything you learn will serve you in a DRP situation. FreeBSD is stable but has a learning curve. Been on that curve quite a few times…

2 Likes

@vladas Thanks for getting back to me. Sorry to hear that you got sick. I guess I should consider that more when posting. But, I never know these things. And given that you’ve only been at this for a year, I suppose I may have made a few unreasonable assumptions and misplaced expectations about your level of skill. Hard to know for sure who’s “Expert” and who’s “Beginner” at first glance.

As for “ugrep”, that explains why it wasn’t working for me. It kinda can’t work if my original NomadBSD don’t have it to begin with. So, no hard feelings about that, I’ll just try again with your corrections and see where I get from there. Unfortunately, I DID try to run just the “/var/run/dmesg.boot” part at that shell prompt and it gave me a “Permission denied” error (as noted in the screenshots I provided, which see). So, I guess I need to ask how the hell do I go about getting permission to access that file? I can’t view or post that if I’m not being given access to it in the first place. I will try again with your “dmesg | grep gpu” and “dmesg | grep Radeon” commands, but if it gives me the “Permission denied” error again, we’re gonna have to attack this from a different direction. I’ll also give your “pciconf” command a try for good measure.

I did some more looking around after posting and managed to find on the Hardware for BSD site a list of all the hardware that it has support for. On page 15 of that list, they have my APU listed for Micro-Star International (MSi or MSI) as “AMD Renoir” but the system is the Bravo 15 A4DDR, not 17 A4DDR. The Bravo 15 is the 15-inch display variant of my 17-inch system. I’m not sure if that makes a difference or not, but on that page, it shows nothing detected for FreeBSD versions up to 14-CURRENT, which may suggest that I won’t be able to get NomadBSD working in any event since there doesn’t seem to be any supported drivers available. However, OpenBSD DOES have a compatible driver, TWO in fact. Also, there’s a section at the bottom of the page that says “Status (3)” and there are three things listed there, two of them for FreeBSD. Both of those have HWID as 3C4CE and one is for FreeBSD 14 and it’s marked “Detected” with a date of April 02, 2022 and the other one is for FreeBSD 15 and is marked “Works” with a date of January 16, 2025. I have no idea what any of this stuff actually means or whether it’s telling me my particular system IS compatible and I just need to somehow install a driver before it will boot to the NomadBSD desktop properly or it’s not compatible and I’m just chasing my tail for no reason. All of the info I’m putting here is coming from AMD Renoir and AMD Renoir .

If somebody could translate what all this stuff is into plain English for me, I thank you in advance.

@MPe Thank you.

Do not see this as lost time

I’ll try not to. I tend to just want to throw my hands up when faced with a challenge. I’m not used to that, so I need to do better.

everything you learn will serve you in a DRP situation.

Provided I can retain the knowledge and remember both to use it and how. LOL

Are you still willing to learn how to check the status of the filesystem you are trying to run the command from?

Absolutely! If you can give me the correct commands and maybe explain how things work and what they do, I won’t turn it down. Remember that I said “back burner”, not “give up”. As long as people are willing and able to work with me at my pace and on my terms, I’m more than willing to learn. The main limit is ME. I have to overcome my tendency to give up and walk away when challenged. I’ll also take a look at that FreeBSD Forums link you provided. And thanks much for being here. :slightly_smiling_face:

I can do that, though I’ll need to buy another one to do this. They’re way cheaper nowadays than when they first came out, even for quality ones from known brands (Trumpist tariffs notwithstanding!), so I can afford one more. That’s not a problem.

@MPe, is not it worth including hw-probe in a future NomadBSD release? Because that function is one of the first objectives of NomadBSD:

NomadBSD is a persistent live system for USB flash drives, based on FreeBSD®. Together with automatic hardware detection and setup, it is configured to be used as a desktop system that works out of the box, but can also be used for data recovery, for educational purposes, or to test FreeBSD®’s hardware compatibility.

Today I installed this hw-probe and updated the hardware compatibility database online — maybe checking a similar MiniPC Bee-link Ser7 will help Stephen a little:

1 Like

@vladas, I just tried your “grep” commands and here is what I am getting from them.

“dmesg | grep gpu” didn’t appear to do anything.

“dmesg | grep Radeon” gives the following: “CPU: AMD Ryzen 7 4800H with Radeon graphics (2894.63-MHz K8-class CPU)”

So, it looks like NomadBSD is trying to use just the integrated GPU. No mention of the discrete RX5500M GPU at all. Running the “pciconf” command you provided shows both GPUs as detected and physically present (screenshots have been provided for reference and proof). So, why is it not displaying the NomadBSD desktop? If it sees at least ONE GPU, why does it still boot to a black screen? That doesn’t make any sense. Am I simply not giving it enough time to finish booting? Is it actually still doing things when it goes black screen on me and I’m just not waiting long enough for it to actually finish? This is the thing I don’t know. If NomadBSD is actually working and this is simply a case of I’m not giving it enough time before condemning it as faulty, it sure would be nice to know this.

Watching Christopher Barnatt on Explaining Computers fire up NomadBSD on his system makes it seem like this particular BSD Unix ought to work straight out the box with no faffing around with settings or “rc.conf” or “grep”-ing anything. Just plug it in, re-configure a setting or two in BIOS, restart, hold down the appropriate key to select the desired boot drive and let 'er rip. It should be THAT simple, but in this case it isn’t. There HAS to be something I’m either doing wrong OR missing out completely.


@MPe, I visited that link in your previous reply and that appears to have resolved my problem with the warning messages about my NomadBSD having been improperly dismounted. I ran the command “fsck_ffs -y /” and it did its thing, finishing out by reporting that the filesystem is clean. Thank you so much for providing that. Will know for sure the next time I boot up NomadBSD again, but I feel fairly certain that issue has been resolved.

I do not see any mistake on your part, maybe some driver is missing to properly identify the hardware features of your computer. The grep limits an answer to only fragments you query, it is worth viewing the whole boot log as well:

dmesg

The WARNING: / was not properly dismounted still remains in your screenshot — has fsck_ffs -y / fixed that issue?

Our NomadBSD community is very small — you could also ask experienced FreeBSD users in a general forum.

@vladas, If you aren’t seeing anything I’m doing wrong, then I guess that’s good so far. I just want to be fully certain that whatever is wrong with my copy isn’t due to me given my inexperience with FreeBSD, NomadBSD or Unix in general (it’s a completely new world to me, understand). As for the “/ was not properly dismounted” warning, I took that screenshot before trying MPe’s suggestions. I’ll need to boot back into NomadBSD to fully confirm that command fixed that particular problem, though I feel fairly certain it did. I’ll post another reply once I’ve done that.

The guy on the FreeBSD Forum topic where I got that command from had a different problem that the “fsck_ffs -y /” command helped him fix. His issue was he had made some change to his “rc.conf” that opened up an inadvertent memory leak that caused his FreeBSD to stop booting properly and running the “fsck_ffs -y /” command seemed to fix his issue enough for him to be able to go back in and restore his “rc.conf” file to its prior state. Quite a useful and simple command…it reminded me of running “chkdsk” in Windows except from a command line instead of a GUI.

Since you mentioned “dmesg” again, I have a question. How do I save a copy of all the stuff it reports in an easy and convenient way that I can access from another system? I’ve been trying to run NomadBSD straight from the USB drive as a portable OS. I’m not trying to install it over another since being a portable USB-based OS is one of the selling points to NomadBSD. Somehow, I need to be able to copy-paste the information “dmesg” reports to a text file that I can just copy over from the USB to my Windows PC in order to read and upload the contents as needed. I just don’t know how to accomplish that given that NomadBSD is its own thing on a USB drive.

Another question I have is if any of the developers of NomadBSD themselves ever visit or engage with the users of these forums. As of yet, I’ve only had you and MPe respond to my posts. It would be nice if somebody who works on the NomadBSD dev team would chime in, though I realize this may not always be possible given they are busy with their work. Maybe one of them might have better information regarding my problem.

My third question is in regards to what disk image “burning” app I should have used to write NomadBSD to my USB drive. I used Balena Etcher, but there’s also Rufus. Does it matter which I use or am I safe to use the one I have? The reason for my question is Explaining Computers’ latest video is about installing Windows 11 on a new PC and in it Christopher Barnatt, the host, put his ISO of Windows 11 on a USB drive using Rufus. Rufus gave him the option to enable local account and a couple other things before writing the image. I’m wondering if NomadBSD works a similar way and the reason mine isn’t working is because of some setting I didn’t see due to using the “wrong” image writing app, in my case Balena Etcher.

And finally, if my issue is a missing driver, how do I go about getting that into my image of NomadBSD from the terminal I’ve been ending up at? I have the impression that doing that will be nigh impossible unless I can first connect it to the Internet from there and then find the appropriate package(s) using all CLI inputs, daunting and time-consuming as that will no doubt seem.

If you and/or MPe can answer these questions, thanks very much in advance. I am now wondering if I need to also sign up to the FreeBSD Forums. I guess that’s a good suggestion since the NomadBSD Forum community is so small.

cp /var/run/dmesg.boot ~/Documents

The command cp means “copy”. The same command could be used to rename the file then, for better compatibility with MS Windows:

cd ~/Documents
cp dmesg.boot boot.txt

Where cd means “change directory”. You can always refer for cd, cp, mv, dmesg, and any other commands to the thorough and comprehensive FreeBSD manual online. Or to the local manpages, for an example:

man cp
man man

You can also use “Midnight Commander”, the file manager in text-based terminal user interface (TUI) for clarity and convenience:

mc
egrep 'bug|error|invalid|not|report' /var/run/dmesg.boot | less > ~/bootlog.txt

This query should pick out almost all records of failures, or at least suspicious ones, from the boot log to a text file in your home directory.

egrep is an alias of the same grep (extended grep). And less is the main TUI viewer (pager) in FreeBSD.

@vladas, Okay, so I booted into NomadBSD this morning to see if my image is clean and I can confirm that the “fsck_ffs -y /” did in fact restore my drive back to health. Screenshot of that is below:

However, when I tried your “cp” on “/var/run/dmesg.boot” to “~/Documents”, this happens:

Now just prior to that, I attempted to list the block devices on my PC and “-sh” threw the error “lsblk: not found”, as shown in my screenshot. I’m not quite done with that one as I’m certain I probably missed out a switch or something that was suppoesd to tell it WHAT "blk"s to “ls”, either all or only one or ones of a specific type (trying to work from memory based on things I’ve learned from the myriads of videos about Linux I’ve watched can be a pain at times and I’m bound to forget a thing or two along the way). So, it seems that I somehow can’t just select a drive that’s “outside” the environment in the USB image? Like it “doesn’t see” that it’s on a computer with other drives? Does that even make sense? I don’t know, this whole thing is starting to get confusing. I’m running NomadBSD on a USB flash drive. The flash drive is plugged into a USB port on a system that has both an NVMe drive (my Windows boot drive) AND a hard drive (my “Data D:” drive where all my personal stuff lives). It doesn’t make sense that I can’t even SEE those disks, even from the NomadBSD terminal. I know they are there, but somehow, some way NomadBSD DOESN’T…or refuses to. Not making ANY sense, and I like to think that I’m technical enough to get my way around. Apparently not.

Also, I tried the “man man” command you provided and that got me to a page outlining the user manual for the user manual. I have not yet tried “man”-ing the others, “cp”, “cd”, “mv” or “dmesg”, nor have I yet attempted try “mc” for Midnight Commander. I may boot back into NomadBSD later to mess with those a bit. At least I won’t have any more of those “/ not unmounted properly” warnings. The same FreeBSD Forums post that gave me “fsck_ffs -y /” also gave me “shutdown -p now” so I now at least know how to shut NomadBSD down properly from the CLI. Thank you once again @MPe for that one. :slightly_smiling_face:

And one final point that had just hit me this morning as I was getting up to begin my day: It may be that either my image of NomadBSD doesn’t have the GUI desktop to begin with OR I need to login and tell it to boot to there manually from the terminal. I’m now wondering if that’s the case here. Also, I’m still not fully certain if the issue I’m having is due to a faulty USB drive or a corrupted image file. Too many questions and troubleshooting directions to go in. I’m going to see if I can set up NomadBSD as a VM in VirtualBox and try to run it from there. If it boots and gets to the NomadBSD desktop environment, then that rules out the disk image file as being the likely cause. I’ll keep you posted.

@vladas, Thanks. I’ll give that a try as well. In the meantime, be sure to take a look at what I just posted a few minutes ago.

@vladas, Alright, I just booted into NomadBSD again to try out your “egrep” command and a couple other things. All you “man” suggestions worked fine. The “mc” command for Midnight Commander throws a “No such file or directory” error, so that’s out. Running your “egrep” command gives the following:

Also, in a slight stroke of insight, I decided to try running “pkg install drm-kmod” which is in the FreeBSD handbook. I thought that, if this is a case of missing drivers, maybe I can install them. Well, I tried to do that with “pkg install drm-kmod”. It reported back stating that I didn’t have a package manager installed and asked if I wanted to install one. I typed “y” and it did a bit of activity, but then quit out saying that one could not be found. It then went on to say that I could either change “PACKAGESITE” or try to install it using “ports”, or something to that effect. But, I took careful note of the outputs on the screen and noticed two errors stating that the file system itself is “read-only”. Your “egrep” command also fails out with “egrep: /var/run/dmesg.boot: No such file or directory”, followed by “-sh: cannot create /root/bootlog.txt: Read-only file system”. I used Balena Etcher to write this to my USB drive. I an not aware that Etcher would have any capacity to dictate to a USB drive that an IMG file can only be a read-only file system. I AM aware that Etcher and other similar programs can dictate to a USB drive that ISO files, direct images of CD/DVD/BD-ROM media, ARE and should ALWAYS be read-only file systems.

This is spew-borked worse than I knew and I’m not sure of where I need to go or what I need to do now. I cannot install anything or save anything into my NomadBSD image. NomadBSD is supposed to be a “live persistent” operating system that can just work anywhere and on anything. But for that to work, it kind of needs to be able to write logs to itself. It kind of needs to be able to download and install things to itself all from that USB drive. And mine can’t because something, either Balena Etcher or something else, forked it in the behind and made the entire damn thing read-only! All troubleshooting now, I guess, needs to re-direct toward UN-read-only-ing my NomadBSD image. I’m just gobsmacked. :confounded_face: Crap like THIS is what causes newcomers to just throw their hands up and say “I can’t do it! It’s too hard!”. :slightly_frowning_face: I apologize for the rough language here.

You could refer to a relevant manpage before applying your command. There is no such command as lsblk. Maybe a space is missing between ls and blk, but there is also no such folder /blk (ls is for displaying contents of a folder or properties of a file).

I’ve learned from the myriads of videos

Do not waste your time on unverified videos. Start by reading the NomadBSD handbook, then thoroughly and coherently explore the FreeBSD handbook, and finally, when the need arises, take a look at a manpage of the command you need. All these docs are verified, accurate and complete (unlike in Linux universe).

Read-only file system

Maybe that is because you are logged in as single-user mode…

cp: /var/run/dmesg.boot: No such file or directory

Weird. I have no idea what could be going on here. Maybe it is not BSD at all?

You could try to request GUI, typing sddm [Enter]. Of course it won’t, but maybe you’ll see why.

No, BalenaEtcher is a quite fair and reliable app, I use it myself. And NomadBSD is not a read-only, but also writable USB drive. However, it is highly recommended to burn on USB 3.2, even when your socket is an old USB 2.0.