I have been a Linux user for a long time, and begin to experiment with FreeBSD only recently. The reason is that I want to see how tcp/ip network stack is implemented, but the Linux code base is hard for me to parse. I am lucky to find a McKusick's The Design and Implementation of the FreeBSD Operating System in a public library. So I decide to take a look at FreeBSD.
I run a instance of FreeBSD in qemu, and track svn head to see most recent changes. (Perhaps it's a bad choice for me). I follow the advice in the handbook to build the kernel and world. However after installing the kernel and reboot, it can't even boot into single user mode. (This bug has been fixed in a more recent commit today).
Here are my three question as a newbie.
Thanks for reading this thread. Any feedback is welcome.
I run a instance of FreeBSD in qemu, and track svn head to see most recent changes. (Perhaps it's a bad choice for me). I follow the advice in the handbook to build the kernel and world. However after installing the kernel and reboot, it can't even boot into single user mode. (This bug has been fixed in a more recent commit today).
Here are my three question as a newbie.
- Linux distributions often keep several versions of kernel, so in case one failed I can boot into another. Is there any way to achieve this in FreeBSD?
- Is it OK to boot from a FreeBSD ISO image, mount the virtual disk(with broken kernel in it) in qemu, build the kernel, and install the kernel to the virtual disk? If it is possible, where can I find documentation to do that?
- Can I just copy the kernel in the FreeBSD ISO image into the virtual disk with failed kernel and replace it?
Thanks for reading this thread. Any feedback is welcome.