Installation stuck because of no login

Hi everybody !

I'm going to start with a little introduction about me and my presence here. If you want to skip the blabla part, go directly to the end of the post where I expose my problem ;)

I'm new in the UNIX world, and have almost no experience in Linux nor BSD (just a few notions learned during the 9 months of my IT formation, like moving into folders, copying something, and listing repertories or changing IP). Having bought a Raspberry a few months ago, I decided to read as much documentation as I could before deciding to install anything.

In fact, I have once installed a Raspbian on my microSD, just to "see it working" and trying to access it from Kitty. I tested a few commands (cd, ls, ...) to explore folders and configure a few stuff about HDMI, but that's all, and I really don't feel comfortable in the UNIX world. But I'm happy in coding (HTML/PHP/MS-DOS) so I feel strong enough to keep fighting and using my beautiful Raspberry ! :beer: Moreover, I want to explore the UNIX world to increase my IT competences and be better in my future job as a technician.

Anyway, after having read on this page a guy explaining how he separated the OS from the Boot for his "Pinas" project (a rasPI transformed into a NAS), I decided to explore the idea of having the Boot on the microSD, and the OS on a USB stick.

I discovered BerryBoot, which was pretty interesting for this purpose. And again, I decided to wait a few days to have enough visibility on the documentation before deciding anything. A few days after my research, I found a page about FreeBSD, and the BSD world. I found very interesting, at first, that FreeBSD was more dedicated to Web Servers because that was precisely why I bought my Raspberry for. Also, I found very charming that BSD's were closer to UNIX philosophy, and more stable and coherent that the Linux distributions. Don't flame guys, I'm just repeating what I read about it, I don't want to hurt anyone.

In fact, at this point I was hesitating between a manual installation with FreeBSD and an easier bootloader-style installation like Berryboot. I was reading and reading again this page about how to manually separate the OS and Boot partitions, and was wondering if I could do it easily with a FreeBSD installation. So again, I waited for more information and reflexions, while desperate and asking myself if BerryBoot wouldn't be a better choice for a newbie like me.

But this page on your forum definitely made me chose FreeBSD : I felt very attracted by the more "Intelligent questions and intelligent answers" aspect. Indeed, being a novice in UNIX world, and a perfectionist hating the autistic behavior of people doing tutorials but skipping 50% of the information needed for a novice to understand the procedure, I prefer to avoid the lack of accuracy and pedagogy that I often see on forums.

This choice being made, and a smile on my face, I closed all my browser tabs (50 at least !) and decided that I would copy FreeBSD on my microSD, and would think about the separation of OS and Boot later.


So, let me explain what I did for now, and what is the problem :
  1. I decided to test FreeBSD on a virtual machine, just to see how it works. I downloaded this image from your FTP : FreeBSD-12.0-CURRENT-i386-20160829-r305028-disc1.iso.xz, and I used VirtualBox to install the ISO.
  2. During installation, I chose a French keyboard layout, gave the name "AngelBSD" to the account, and did my best with the rest of the options. I think I messed something up with the creation of a new user when asked for (which I called "Raspberry", just for fun), especially for defining the password. You'll see why.
  3. The installation gone well, and I launched FreeBSD for the first time ! Hurra ! ^^
  4. During the FreeBSD menu, I selected the option 2 (Single User). I don't know why, but my instinct said me I was doing wrong and should have selected the option 1 (Multi-user). Then, I didn't wait the end of the booting and shutdown the VM to restart it.
  5. After being in the menu again, I selected the option 1.
  6. FreeBSD loaded entirely, and I was finally on the console ! He asked me to login, and :
    1. I tried "AngelBSD" and my root password, without success.
    2. I tried "Raspberry" with the defined password, without success.
    3. After one minute, I finally understood that I should use "root" as the login, and the password associated. That's where I started to understand that "AngelBSD" was somehow linked to the root account, and just a name for I don't know what...
    4. I tried "root" with the password, and it worked.
  7. I tried a few commands to verify that I was effectively in the OS, and everything was working fine ! But after a few moment, I saw that the console was not really one : there has no way to scroll up and down to see the command lines typed before. And that was really annoying me.
  8. So I decided to install a desktop environment, so that I could use a Terminal and be more comfortable.
  9. I followed this page to install Xorg and KDE. Everything gone fine. I configured it to launch KDE at start !
  10. Buuuuuut, when restarting, here is the crazy problem which made me to come here for some help : the KDE logon system ask me a login and a password. But none of the 3 above mentioned combinations of login/passwords works !
  11. I tried to reboot to access the "OS command lines" again (I don't have the exact term), in hope to try a few commands to debug the situation ; but the problem is that FreeBSD launch automatically KDE ! So I decided to try the option 2 or 3 in the menu, but here is the 2nd crazy problem :
    1. The option 2 seems to launch KDE too.
    2. The option 3 let me a few lines below the menu, with "OK" typed in the console. I can type what I want, but I have only a very limited allowed commands (help list), and more, something is making me going postal : the keyboard layout is in US language and 1) I don't know why !, 2) I tried to type the kbdcontrol -l fr.iso.acc" command and not only is it a pain in the neck with AZERTY but it doesn't work at all, 3) I see no official command in the help-list to load a keyboard layout.
So finally, I'm stuck here ! I can't use FreeBSD at all, because of a problem of login and a mysterious (not for you, I'm sure) problem or keyboard layout not loaded correctly...

It's making me feel a bad impression of UNIX world : not only Linux haven't been a comfortable experience for me because of the complex structure of the filesystem and of the commands, but also because everything, from documentation on Internet to the way in which OS's and commands are build, make me again, even with FreeBSD, think that everything is not very professional.

I have, like with Linux, to search for partial informations during hours to do a simple thing (here, login or defining a keyboard layout), and when it's not to install a software it's to debug a tiny and ridiculous bug ! A bug that could have been nonexistent if people had explained things correctly.

Indeed, even with the tutorials, its seems that something was missing in the way that the whole steps of installing KDE could be explained to a novice, or, even before with the FreeBSD installation, in the way that the definition of logins and password, or keyboard layouts, could impact in such a way the user's experience.

So, I'm not charging the BSD community here, and I prefer to wait for your expertise. I think that this situation is my fault, and that the intelligence of both your mature community and my hope in your project, will defeat this horrible wicked problem and save the princess.

I'm angry against the lack of global explanations in documentation, and my English is too poor to illustrate all my thoughts ; but I think that, bricks after bricks, I could enter your world and, why not, made a contribution in writing some tutorials to help people like me to "take the bull by the horns" (a French expression ;) ). Tutorials made by noobs for the noobs : imagine !

Is there is a reason for 12.0-CURRENT and in i386?

12.0-CURRENT is still in its experimental stages and not production ready so it may have bugs. Maybe try 10.3-RELEASE or 11.0-RELEASE for a more compatible version of FreeBSD.
From a Virtualbox guest, you can switch between a graphical desktop, KDE in your case, and a "text console", by pressing WinKey + CRTL + F2, and back to KDE with WinKey + CTRL + F9.
(that is the "right CTRL" + WinKey (usually at the left of the left-ALT).

When you are at the text console you should be able to log in as "root" using the password you set previously.
At the prompt use the command kbdmap that will help you to choose the right keyboard layout, but that work only for the text consoles.

I suspect that the kde login manager doesn't allow you to log in as root, but really don't know as I'm not running KDE and don't know which login manager is using now, anyway, you could add a new user, and the command to do that is adduser.

Once done, switch back to the graphical environment (WinKey + CTRL + F9) and try to log in with your newly created login id.

If that will succeed, once inside KDE, open a terminal and use the following command to setup the keyboard: setxkbmap fr

That should get you started.
Nice to see somebody trying to learn something in systematic way. I apologize to be brief, but I am in hurry right now, so only few points to direct you to the sources which may help you understand what happened and what to do.

You have multiple virtual consoles in your system, as has been already mentioned. You can imagine them as multiple screens and keyboards connected to the machine at same time. You can switch between them (using Ctrl + Alt + F1-Fx keys on physical machine). Usually you have screens/consoles 1-8 for text console and 9th if you have one instance of X system running. As ASX has mentioned, you may have to use different keys to switch them when using VirtualBox.

So now you should be able to switch to the text console (it is not important to which one, only difference is that the first one receives system messages) and log in as the root user. Now you can check what users are defined in your system and change their passwords. To list users, use the getent passwd command, to change password, use passwd command, to modify user, use pw. You can get better understanding what those commands do by reading their man pages, getent(1), passwd(1) and related passwd(5) and pw(8).

Already has been mentioned, that CURRENT (or FreeBSD 12) may not been the best for newcomer - it is development version where things can break/change often so you may get confused not only by your own mistakes or misunderstandings, but also by actions of others. To get the concept, see the handbook chapter on this. To get it short, FreeBSD 12 is current development version, FreeBSD 11 is what tomorrow (literally, release is planed on Monday) may become new release and FreeBSD 10.3 is what is now stable version appropriate for production. You would probably want to stick with this last one for a while, because most people who use FreeBSD daily is accustomed to it, you would probably get most advices with it and also most errors may be already ironed out.

Regarding startup menu - you want to boot in Multiuser almost always. Single user is mean to allow system administrator perform task to repair or upgrade system. Third option is probably escape to loader prompt - you can set some options to kernel to be loaded, load some modules before kernel loads etc., however system is in state when it only get ready to be started, even before kernel gets loaded into the memory, so you really can't fix your previous mistakes here. You can get more info about the FreeBSD booting process from the following manual page - boot(8).

And finally, to scroll in the text console - try the Scroll Lock key.

Not so brief finally :)