well, opengrok for opensolaris code base but no opengrok for linux codebase, one could start one however but the cost involved in setting up and maintaining is too greater I suppose. kernel.org maintains only kernel source tarballs. It has been left to the individual distro maker to distribute source code along with the product OS but practices are seldom distribute the source along with the code(I guess debian is an exception and thats why it provides more than 20-30 disks)
There is this : http://lxr.linux.no/
LXR (formerly "the Linux Cross Referencer") is a software toolset for indexing and presenting source code repositories. LXR was initially targeted at the Linux source code, but has proved usable for a wide range of software projects.
Update:
Another link I came across is http://fxr.watson.org/ , which has all the popular distro sources cross reference. Pretty useful for systems programmers.
You seem to make the (common) assumption that computers can either be a desktop or a server.
There are a lot of other devices that run Linux/Unix around you:
- cars/trains/planes/...
- Tivo
- phones, tablets and other gadgets.
- a watch
- ...
The requirements for running Linux on these platforms are fundamentally different from what your PC may be used to. Therefore, different distros are leaders on these markets.
Fedora, Ubuntu, CentOS, ArchLinux are direct competitors in the sense that, while they do things slightly differently, they are still targeting your PC and/or your server. In a slightly technical term, they are targeting the x86 architecture. (I believe these distros won't even support any other CPU architecture).
The other distros have different targets altogether. I can separate the examples you give into 2 categories:
From your list: RTEMS, FreeRTOS, eCos.
A kind of operating system that treats the time variable a bit differently. It is my understanding they run in environments where delays and bottlenecks are not tolerated. A common example would be a breaking system in a car.
From your list: uClinux, Openembedded, Buildroot (Note that the latter is not a real distribution, rather a building environment.)
These operating systems target a wide variety of platforms and architectures. They are popular among the electronics/microcontroller crowd, where traditionally resources are scarce, and cross-compilation is very common.
To make things simple, think of the examples you mention as highly specialized distributions that do very specific tasks. It goes to attest to the wide range of domains the Linux kernel can cover and what are the kinds of challenges the people in the kernel development team have to face.
Best Answer
pivot_root
is actually used at boot time in order to jump from a ramdisk into the real root. It is easy. When you get managed that no process accessing the old root file system, then you can also umount your old root.It is also not possible to run more than one kernel at the same time, except you use some virtualization techniques.
If you are on Debian and want to run some programs on Ubuntu and assume you have a kernel which works on both, then you can easy chroot to it:
or perhaps much easier