Well, few days back I came to know that GNU system can also be ran over FreeBSD kernel, and there is already a distribution for this, Debian GNU/kFreeBSD. The difference between this GNU/kFreeBSD and FreeBSD available from FreeBSD.org is that former has glibc runtime whereas later has libc6 runtime, that’s the basic difference. The filesystem hierarchy is also similar to the GNU/Linux system.
I downloaded a ISO for AMD64 architecture and installed it. Oops I don’t have a CD burner, so I have to hack a little bit. As I already has a FreeBSD 6.1 (AMD64) running, so I just booted into that OS. So just marked my free primary partition as a FreeBSD partition, created a label of 110 MiB and then extracted the CD ISO into that partition. And finally restarted the system. As, I’ve GRUB, so I’ve to press ESC quickly in order to defer booting from menu. And then another ESC to reach console. And then executed following commands.
> root (hd0,0,a)
/* Installed in 0th label of 0th partition of 0th hard disk */
> kernel /boot/loader
/* Set path to the kernel */
/* B00T */
And then installation screen came up, and followed instructions as given in this document with another hack. As, I don’t have any GNU/kFreeBSD CD-ROM Disc to install, I’ve to install from the hard disk. So instead of directly going to Install Option, I’ve chosen Repair/FixIt option, and then started a shell from Live FS hosted on my FreeBSD 6.0 disc. So in the FixIt shell I did this:
FixIt# mkdir /setupmnt
/* Create a mountpoint for mounting installation source */
FixIt# mount -o ro /dev/ad4s1a /setupmnt
/* And, then read-only mount ( since I don't need any write access to the source ) the installation source "/dev/ad4s1a" on "/setupmnt" mountpoint*/
/* back to installation */
After this, I opted for Custom Install option, where I’d chosen media as filesystem, and located
/setupmnt/base (there lives the base system package). And then selected only base package for installation. The installation didn’t finished properly, I’ve forgotten why. But anyways, I restarted the FixIt shell, and found that new
/ is active, so tried running
./native-install which will configure my system. After the configuration is over, I exited from the FixIt shell, and restarted.
And now again on the GRUB console, I’d to change my
(hd0,0,b) (my new root), and then
booted into my new GNU/kFreeBSD. :-)
Now, to proceed further, I logged in with root user and did
apt-get update to update package information. And then initially download these packages (without signature check): lynx (my favorite web-browser), irssi (my favorite IRC client), less (my favorite PAGER), file (my favorite file-type viewer). And then imported GPG keys of the package providers into my APT keyring. After 14 hours, I removed this system from my box. Not because it has some bugs or problem but because I have 128 Kbps connection and I don’t want to install it over that. But if I’ll have faster connection, I’ll definitely install this. :-)
BTW, while writing this blog entry, I came across a linux distro named GoboLinux (oops available for IA-32 architecture :-( ). It has different filesystem hierarchy than GNU/Linux or FreeBSD, similar to Apple MacOS X.