- Posts: 500
- Thank you received: 0
Most Unix Like
18 years 11 months ago #11796
by ZiPPy
ZiPPy
Replied by ZiPPy on topic Re: Most Unix Like
What exactly do you need to create a new distro for Linux? Are all Linux distros running the same kernal but with a different GUIs and applications?
ZiPPy
- susetechie
- Offline
- Junior Member
Less
More
- Posts: 24
- Thank you received: 0
18 years 11 months ago #11806
by susetechie
"Go away or I will replace you with a very small shell script"
Replied by susetechie on topic Re: Most Unix Like
Not sure about what it takes to create a new linux distro, but yes to the second question. first off you will notice that they look different, but don't necessarily have the same software or kernel. and yet same distros with different versions have different kernels too! i think the most noticeable difference is package management and package retreival of all the distros. RedHat is famous for its RPM, Suse (still using rpm) its YAST, i am not a gentoo user but i believe they have emerge...the list can go on. IMO thats the biggest difference.
HTH,
M
HTH,
M
"Go away or I will replace you with a very small shell script"
18 years 11 months ago #11812
by nske
Replied by nske on topic Re: Most Unix Like
About the kernels, there is only one Linux kernel, commonly refered to as the Vanilla linux kernel. This is always available from
www.kernel.org
.
The official linux kernel is very well audited and tested, and it is expected to compile and run stably on any hardware and architecture. The vanilla kernel is not a monolithic product, it has a modular structure. Hundreds of components that are not crucial for a kernel (but that provide functionality that we may consider crucial, like TCP/IP support, VGA output, or mouse/keyboard support) can be added or removed, so we can have a vanilla kernel compiled with everything available (90% of which we will never need), or we can have a customly-compiled kernel that will only have what we'll need, and will thus be significantly faster, stable, secure and less buggy.
Besides that, some kernel gurus out there, have made various fixes, improvements, hardware support or functionality enhancements that were not proven stable or mature enough to be included into the vanilla kernel tree -not proven doesn't mean they necessarilly aren't good enough-. These are made available for anyone to use them on his own responsibility. There are many such patches out there, some distributions dare to implement some of them into their generic kernel (the kernel that is officially supported from each distribution).
The generic kernel of each distribution is not different than the vanilla kernel, other than it may include some of these unofficial patches (which of course could be implemented manually by the user, regardless the distribution). Obviously, the distribution developers have taken some decisions on what components they will include into their generic kernel so that it will be a fairly fast, secure and stable kernel but will also have support for every common hardware.
Now, to your question, strictly speaking, everything other than the kernel are interfaces to the kernel. So to create a new distro, you only need to put together the kernel with a bunch of interfaces, along with a some higher-level interfaces (interfaces to the interfaces) that will be used to configure, automate or ease the use of the lower level ones -or just make things look a little bit more human- and.. you get the picture
This may not be as simple or easy as it sounds, but it's still pretty simple for anyone with enough usage experience, a good level in some scripting/programming language and (most importantly) much patience to do, if he chooses to. For more details on the specific stuff involved, check the Linux From Scratch project .
However the difficult part is not to make a distribution, rather than to make a good distribution
The official linux kernel is very well audited and tested, and it is expected to compile and run stably on any hardware and architecture. The vanilla kernel is not a monolithic product, it has a modular structure. Hundreds of components that are not crucial for a kernel (but that provide functionality that we may consider crucial, like TCP/IP support, VGA output, or mouse/keyboard support) can be added or removed, so we can have a vanilla kernel compiled with everything available (90% of which we will never need), or we can have a customly-compiled kernel that will only have what we'll need, and will thus be significantly faster, stable, secure and less buggy.
Besides that, some kernel gurus out there, have made various fixes, improvements, hardware support or functionality enhancements that were not proven stable or mature enough to be included into the vanilla kernel tree -not proven doesn't mean they necessarilly aren't good enough-. These are made available for anyone to use them on his own responsibility. There are many such patches out there, some distributions dare to implement some of them into their generic kernel (the kernel that is officially supported from each distribution).
The generic kernel of each distribution is not different than the vanilla kernel, other than it may include some of these unofficial patches (which of course could be implemented manually by the user, regardless the distribution). Obviously, the distribution developers have taken some decisions on what components they will include into their generic kernel so that it will be a fairly fast, secure and stable kernel but will also have support for every common hardware.
Now, to your question, strictly speaking, everything other than the kernel are interfaces to the kernel. So to create a new distro, you only need to put together the kernel with a bunch of interfaces, along with a some higher-level interfaces (interfaces to the interfaces) that will be used to configure, automate or ease the use of the lower level ones -or just make things look a little bit more human- and.. you get the picture
This may not be as simple or easy as it sounds, but it's still pretty simple for anyone with enough usage experience, a good level in some scripting/programming language and (most importantly) much patience to do, if he chooses to. For more details on the specific stuff involved, check the Linux From Scratch project .
However the difficult part is not to make a distribution, rather than to make a good distribution
Time to create page: 0.119 seconds