1

I am running arch linux. I want to try openbsd without overwriting any machines, and without using a virtual machine (I don't want to use X11. The VirtualBox interface is clunky and I would rather be without it) So my next logical conclusion would be to create a chroot, install openBSD in it, and chroot into it for that openBSD experience, but with linux kernelspace, and so reboot. I am concerned with security so I don't want to perform many operations as root, I don't want to keep about unimportant files.

I'm thinking that I would create /mnt/openBSD rsync an openBSD mirror to ~/bsd, compile everything and configure to install to /mnt/openBSD/[whatever] But it feels like I'm forgetting something important. What am I forgetting?

1 Answer 1

1

I highly doubt that this would work properly. Since both operating systems use the same binary format (ELF), it should "theoretically" be possible. But in reality they are sharing only a small subset of APIs (POSIX).

A linux executable gets the path of the dynamic linker into the header section (usually something like /lib/ld-linux.so). This is also an executable. The operating system kernel reads this while creating the new process, then loads and executes this other executable binary. In an chroot environment with openbsd there is no such linker, because bsd has it's own linker.

Also bsd has a different system call and library call interface than linux. So linux doen't know bsd syscalls. Interestingly bsd has a compatibility for linux binaries, but not inverse.

Conclusion: If you just want to "try" openbsd, why don't you try a live USB-stick of openbsd?

1
  • didn't know such a thing existed. Thanks for the heads up. Commented Mar 25, 2015 at 16:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .