Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Ahh I think I see your approach here. Would it be possible to use debian linux too?
When you talk about using a build process and code from other projects it may apply. Actually using other projects does not.
All Linux distributions consist of system utilities and user space applications from the GNU software collection layed onto a Linux Kernel with the module collection compiled for it, then with an added GUI overlay and configuration. If you want a kernel and shell combined so you do not need all of that you can only combine certain small portions of things while stripping out what is no longer needed because you will not be using those applications, modules, or services (or have them built into your new kernel mashup).
It sounds horribly messy, but doable. Success will require that you carefully consider each piece and simplify wherever you can. All of the structure that applies to enabling or securing a shell, for example, becomes useless when the shell is built in. PARTS of the process scheduling will still apply, but some of the rest becomes questionable. The entire user-space separation code becomes useless with the user already WITHIN the kernel.
You might almost better start with your own kernel.
Source for the kernel is available. Source for the shells are available. Building the minimal modules and a shell into the kernel would certainly be possible. Obscene, but possible.
Let me know what you come up with. I suspect several of us might like to take a look at the results.
Of course! I can send in some results if of course I have successfully done it!
Of course! I can send in some results if of course I have successfully done it!
Great! Have you a GIT repository where we can download and examine the code? I would like to examine this OS in a kernel for myself, and I wager many others would as well.
I'm made my own Operating system before and it was a really cool experience! But however I was interested in the linux kernel and how it worked. Then I wondered if it would be possible to make an OS with just the linux kernel. Now its only a kernel and I know but is it still possible to give it a shell and program it into an functional OS? if yes then correct me if im wrong but wouldn't that be a good idea? Linux already has support for many many devices and can run on tiny cellphones and crappy toasters. It can even run on something with very limited technology so thats why im thinking about this. It would just be pretty convenient
That's the most difficult part, to bootstrap the Linux Kernel with some appropriate software to make it boot into an "OS" (whatever software you manage to bootstrap). Then you'd need to be able to expand the OS after that, with buildtools.
Alot of distroes skipped this step (bootstrapping), by forking another distro.
But, generally the Linux Kernel comes with the GNU operating system and GNU tools and bootstraps into those. Alot of bootstrapping is now done with Busybox, due to ease. But it comes with no buildtools and no option for that, so you'd have to build externally for it.
PS. There are various options in the Kernel for how to bootstrap, where the default is /sbin/init (you could try booting into /bin/bash)
Ps2. The most modern and hands on approach, I think you can get with Gentoo. They don't really do it anymore, they skipped to "stage3" installation, but previously they had "stage1" and "stage2" installtions as well. That's probably not exactly bootstrapping, but "stage1" would be good experience to get a better understanding. Stage 1 Gentoo installations are still available I think (but generally not used).
Ps3. You could use a virtual machine environment to test these things.
That's the most difficult part, to bootstrap the Linux Kernel with some appropriate software to make it boot into an "OS" (whatever software you manage to bootstrap). Then you'd need to be able to expand the OS after that, with buildtools.
Alot of distroes skipped this step (bootstrapping), by forking another distro.
But, generally the Linux Kernel comes with the GNU operating system and GNU tools and bootstraps into those. Alot of bootstrapping is now done with Busybox, due to ease. But it comes with no buildtools and no option for that, so you'd have to build externally for it.
PS. There are various options in the Kernel for how to bootstrap, where the default is /sbin/init (you could try booting into /bin/bash)
Ps2. The most modern and hands on approach, I think you can get with Gentoo. They don't really do it anymore, they skipped to "stage3" installation, but previously they had "stage1" and "stage2" installtions as well. That's probably not exactly bootstrapping, but "stage1" would be good experience to get a better understanding. Stage 1 Gentoo installations are still available I think (but generally not used).
Ps3. You could use a virtual machine environment to test these things.
Just punting here, but working up a set of external "utilities" to run from your unified operating system might just conflict with the goal of building the operating system into the kernel in the first place. One cannot avoid the entire GNU app collection by reinventing the entire GNU app collection.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.