|
|
|
|
![]() ![]() |
Nov 16 2005, 05:15 AM
Post
#1
|
|
|
Premium Member Group: Members Posts: 257 Joined: 28-January 05 Member No.: 2,370 |
I''ve been wondering lately, what language is Linux written in?
I'm interested in this, because my friend and I are considering writing our own distro. I know, it sounds like a bit of a feat, but one guy wrote MEPIS by playing with the Debian source code. I think the two of us could do something similar. |
|
|
|
Nov 16 2005, 05:38 AM
Post
#2
|
|
|
Premium Member Group: Members Posts: 254 Joined: 28-December 04 Member No.: 1,884 |
Linux I am not sure about, but I do know that UNIX is entirely written in C, and I'm willing to make a safe bet that Linux itself is also written in C.
Writing a distro seems to be more about packages included and the package management used than actually altering the source code. If I was going to creat a distro, I'd basically end up creating another Slackware. |
|
|
|
Nov 16 2005, 03:01 PM
Post
#3
|
|
|
Way Out Of Control - You need a life :) Group: Members Posts: 1,366 Joined: 14-September 04 From: Nottingham England Member No.: 570 |
You do not need to program to make a new distro.
however, for the sake of answering your question..... Linux itself is written in C and Assembly. GNU is written mostly in C. Libraries are written in C and C++ (QT is written in C++, GTK i believe is C) Boot scripts are USUALLY written in Bash Script, but there is no reason you couldnt use some other scripting language To create a differant distro, here's what you need to do.... 1) Decide on a package management system. You can use a currently existing system such as RPM, Debian PKG, Gentoo's Portage, or Slackware's TGZ. Alternativly, you could choose to have no package management system, and the user will needto compile everything from source (similar to Linux From Scratch) OR Ideally, Program your own package management system (the language of your choice) 2) The Kernel.... Most distro's patch the vanilla linux kernel. For example, Gentoo has many krnels available, some patched to be optimised towards desktop use, some optimised for server use. You need to decide on what makes your distro differant / beter than other distro's and patch the kernel accordingly. For example, you may decide that disk IO is more important that disk reliability on your distro, so you may want to patch your kernel with the experimental file system Reiser4. Alternativly, you could use the kernel from anouther distro, for example the Gentoo kernel for performance, or the Redhat kernel for a more server oriented kernel. Alternativly, you could just use the un-patched vanilla linux kernel from kernel.org 3) Boot scripts. Many disto's use differant methods for selecting what scripts are executed dureing boot up. Slackware just executes every script that has executable permissions. Redhat / Fedora executes every script that has a symbolic link in the runlevel folder. Gentoo uses a tool called rc-update, Either use a currently existing method, or create your own method. 4) Create an Install CD. This doesnt have to be complicated. a simple install CD could be a simpl bootable CD, that just coppies a default install folder to the root of the hard disk, and installs GRUB to the MBR. Their are2 reasons i can think of for creating a distro... 1) for fun and learning 2) because there are no distro's that work exactly the way you like. For help getting started, you may want to look at Linux From Scratch. http://www.linuxfromscratch.org/ this is a book with step by step instructions on how to start with a completely empty hard disk, and download and compile a full linux distro. the end result is a completely customised, lightning fast minimal distro. then books like Beyond Linux From Scratch will help you turn this into a full OS with all the features of any top quality distro. Many people create there own distro's using LFS as a base to work from. Enjoy. |
|
|
|
Nov 16 2005, 07:25 PM
Post
#4
|
|
|
Techno-Necromancer Group: Members Posts: 1,018 Joined: 13-January 05 From: The Net Member No.: 2,127 |
Like all OSes, Linux is written in any programming language someone who adds to it rights in. Since OS kernels are compiled, the used language doesn't matter. However, most OSes are written in Assembly and C++.
~Viz |
|
|
|
Nov 17 2005, 01:24 AM
Post
#5
|
|
|
Premium Member Group: Members Posts: 257 Joined: 28-January 05 Member No.: 2,370 |
Ooh, that Linux From Scratch site looks like it'd help a lot...thanks, Qwijibow!
|
|
|
|
Nov 17 2005, 09:24 AM
Post
#6
|
|
|
Advanced Member Group: Members Posts: 196 Joined: 17-June 05 From: Topi,Swabi,NWFP,Pakistan Member No.: 6,301 |
Well i would recomend that instead of making your own distribution , you should focus on maintainng an already established distribution. Alot of distributions require maintainers as people leave as they dont have time to contribute . Like Danial Robbins , founder of Gentoo....he had a family to take care of..but he did take a job at Microsoft :S
Good Distros to contribute are Ubuntu , Fedora and Gentoo as they have a very strong community based program. |
|
|
|
Nov 17 2005, 10:05 PM
Post
#7
|
|
|
Colonel Panic Group: [MODERATOR] Posts: 2,880 Joined: 25-March 05 From: Toronto, Ontario, Canada Member No.: 3,233 myCENTs:92.74 |
Hatim is right, there are a surplus of Linux distributions out there already. Too much is NOT a good idea. Try maintaining Ubuntu, OpenSuSE.
xboxrulz |
|
|
|
Nov 18 2005, 01:50 AM
Post
#8
|
|
|
Premium Member Group: Members Posts: 209 Joined: 7-October 05 From: Đà Nẵng City - Việt Nam Member No.: 8,966 |
And for the ones that' not a developer. Contributing by testing the new software and report the bugs.
If you're very familiar with a distro, you may also help others on the forum, guide them to the Open Source World. |
|
|
|
Nov 18 2005, 09:45 AM
Post
#9
|
|
|
Way Out Of Control - You need a life :) Group: Members Posts: 1,366 Joined: 14-September 04 From: Nottingham England Member No.: 570 |
Its amasing, but this thing seems to happen all the time in the Linux forum.
A question is asked, but instead of beeing answered, they get an alien surgestion. "Q: How do i create a new distro ?" "A: Use Ubuntu" "Q: Does Linux support brand X wireless network" "A: I dont Know, use Ubuntu" "Q: Whats the capital of Scotland?" "A: Ubuntu" Lol. If only this site had a humour section. Seriously though..... Go for Linux From Scratch, or google for "Meta Distribution" a Meta Distribution is a bit like a distro used for creating s custom distro ( gentoo |
|
|
|
Nov 19 2005, 05:42 AM
Post
#10
|
|
|
Colonel Panic Group: [MODERATOR] Posts: 2,880 Joined: 25-March 05 From: Toronto, Ontario, Canada Member No.: 3,233 myCENTs:92.74 |
lol, everyone (well, mainly newbs) would just tell u to use Ubuntu. I can tell them to use any existing ones and tell them to help further develop it.
xboxrulz |
|
|
|
![]() ![]() |
Similar Topics
|
Lo-Fi Version | Time is now: 4th December 2008 - 12:39 AM |