How do I make a derivative from FreeBSD?

Hello,
I'm a Linux admin and have little experience with BSD. I want to build an operating system based on FreeBSD for my personal use. I saw a book called The Design and Implementation of the FreeBSD Operating System. Does this book get me to my goal?
If FreeBSD documentation can help me, tell me which one I should read in order. Please give me in order.

Thank you.
 
You have little experience with BSD but already know you want to create a derivative. What part of FreeBSD do you want to change? Be exact.

I saw a book called The Design and Implementation of the FreeBSD Operating System.
Good book. You might want to get the second edition though. The first edition isn't bad but it's mostly about older versions of FreeBSD.
 
Hello,
I'm a Linux admin and have little experience with BSD. I want to build an operating system based on FreeBSD for my personal use. I saw a book called The Design and Implementation of the FreeBSD Operating System. Does this book get me to my goal?
If FreeBSD documentation can help me, tell me which one I should read in order. Please give me in order.

Thank you.

No, that book doesn't cover booting. The boot process, especially early stages is kind of black magic and doesn't have books. The systems programming manuals from AMD and Intel cover some things.
 
I don't know if you would consider BSDRP a derivative but the whole build chain uses FreeBSD source code and modifies into a personal project. Poudriere as the builder.
I would suggest start at making just images that conform to your need and add packages later. Learn what is needed from base.
Look at the extensive work done to remove certain components needed to create an networking appliance here.

At the bottom is the project links for settings to experiment with.
 
What's your target hardware? Assuming the source-based approach, probably the first thing you should arrange is a computer that does a full system compile within acceptable time for the purpose of trying out different directions fast. You also need a solid backup solution to not lose hours of work with some stupid action. It sounds childish but it will happen many times. I recommend a stack of mech harddisks and a USB disk interface apparatus but that's personal preference..
Additional value is being able to handle several virtual machines or emulators to develop and test things in a disposable environment. Pretty much everything that has no direct relation with the physical hardware can be done here.
 
Being that op is coming from Linux admin background the first thing they need to understand is that BSD is just the kernel and coreutils. Everything else is considered an application port and not PART of the distribution (as it should be). Of course that little bit is what upsets the noobs who want a ready made desktop system to replace windows and they invariably try to get the core BSD folks to jump on the "desktop distro" bandwagon.
 
Depending on what exactly it is that you want to do. You're either going to want to dive into the installer scripts and init system or just plan on using the FreeBSD base system and layer the appropriate ports/pkgs you want on top of that.

It may make more sense to just create thick jails or podman containers as a way of learning more about what really is and isn't needed.
 
What's the objective here?

How will the result be different from FreeBSD?

Why do you focus on kernel internals? If you are looking for a similar OS with different kernel structure check out DragonFlyBSD.
 
Back
Top