6
  1. I've read in different textbooks that say Linux is light-weight(e.g. It could fit on a 1.4MB floppy). So why is the download from the Ubuntu or Fedora CD sized or larger?

  2. Do the device drivers extend the kernel? For example: if I have new hardware and I have installed the device driver, will my kernel code get extended or is the driver installed as a service for the kernel to use?

  3. When using a LiveCD such as Ubuntu, when system boots does all 700MB of the OS get loaded to RAM or just parts of it?

I ask these questions because I feel they're common beginner questions and I think it would be good to have them all in one place.

3
  • 4
    I don't think anything tagged with kernel could ever be considered a beginner question, unless it's something like "Who is this kernel that I keep hearing about, and what makes him panic?" Jul 23, 2012 at 14:03
  • 1
    For question 2, check unix.stackexchange.com/q/39182/15630
    – Renan
    Jul 23, 2012 at 15:17
  • @Gilles sorry for this time i wont repeat it again very happy for the responses
    – kakeh
    Jul 24, 2012 at 1:16

4 Answers 4

5

It's just barely possible to fit an extremely minimal Linux system on a floppy. (Here are a few examples; beware that many of these span several floppies.) With just 1.44MB, there is no have any room for any application; I think you can get a minimalistic command line with no interesting command to run.

As an example of a more realistic tiny system, my home router runs Linux. The whole disk image (kernel plus programs) fits in 4MB (in fact, I think it's close to 2.8MB). That's a dedicated system, with an old kernel version, only the drivers needed for that particular device, and not many programs — mostly networking administration tools, including a small web server, an SSH client and server, a shell.

A distribution like Ubuntu or Fedora comes with thousands of programs. Some of these programs take tens of MB on their own. Some of these programs' documentation takes tens of MB. Just the device drivers for all the peripherals, network protocols and other parts of the kernel take about 100MB these days — there are so many different devices one can connect to a PC.

For a basic system with a GUI and a web browser, you'll need a couple of hundred MB. For a more complete system with a full desktop environment, a word processor and so on, count on a couple of GB. If you start having multiple alternatives for each program (Gnome and KDE, Firefox and Chrome, …), the sky's the limit.

If you feel like comparing with the size of Windows, keep in mind that a Linux distribution contains much more than the equivalent of Windows: distributions like Ubuntu and Fedora ship a lot of applications that you would need to install separately on Windows.

3
  1. "Linux" is really just a kernel. You can compile your own to customize it, or use one pre-compiled by a distribution. A kernel runs the computer and provides an environment for applications and tools. So you need applications if you want to actually use the kernel for anything. Distributions such as Ubuntu and Fedora provide not only a kernel but also applications and tools. Since Linux is an implementation of UNIX, many traditional UNIX utilities are provided.

  2. Device drivers are distributed with the kernel. It's possible to include modules as part of the kernel, or let them stand as separate files. Usually they are compiled as modules - it's roughly similar to how Windows DLLs operate in concept. This way you don't have a huge kernel in RAM with every device driver built-in, and the kernel can work in a variety of environments.

  3. The kernel is loaded in RAM on boot and stays there. Applications are loaded when you use them and release their memory when they terminate. Modules are loaded when they are inserted, which is usually when hardware is detected or some operating system facility is used. Modules can also be removed, or unloaded.

1

1 - The base system may fit. The cd editions(like ubuntu or fedora) have more than the system, like for example some of the programs you should use(Firefox,Gnome,Banshee etc...) and probably some codecs for media.

2 - Most of the drivers come bundled, and run as kernel modules, but non-crucial proprietary drivers are not bundled, only Open Source ones. If you don't have a custom kernel, then all the drivers needed for a basic usage, should be present, but probably proprietary drivers will get you a better performance.

3 - No, only the required is loaded. The Kernel image/Modules, and the processes that are being used (like xorg/systemd etc...)

3
  • "non-crucial proprietary drivers are not bundled, only Open Source ones" Would this not depend heavily on the distribution?
    – user
    Jul 24, 2012 at 8:46
  • @MichaelKjörling Im not really sure, but i think that most distros, don't modify the upstream kernel. They just adapt it. One basic rule on most Linux distros, is to always prefer the OSS alternative, if it at least works. Eg. you don't see any linux kernel with nvidia proprietary driver, but nouveau is almost always present. (even with worst performance)
    – SOMN
    Jul 24, 2012 at 14:32
  • Quite a few distributions have distro-specific kernel patches that for various reasons aren't in the mainline kernel (I think Debian even has a package vanilla-kernel or somesuch for those people who don't want the patched version, for example), and you don't need to do any kernel modifications to bundle proprietary or Free kernel modules. "Bundled" is not the same thing as "built-in".
    – user
    Jul 25, 2012 at 7:31
1
  1. As Claudiop and ultrasawblade told you, there is a kernel which is small and can be customized to be even smaller, then there are tools, usually present on unix like systems, and the huge applications like office, browser, multimedia software, games and so on, with graphical user interfaces which occupy much more space.

    Ten years before now I really had such a Linux on a floppy disk, it is called tomsrtbt and could be installed on a classical floppy for 1.4 MB, but reformated it and contained 1.7 MB with a very restricted kernel, which means very few device drivers, very few tools, a very restricted shell and no GUI and no such. Maybe you'll find it if you're really interested.

  2. Most drivers are part of the kernel. For new hardware - either your kernel already includes a driver, or a generic driver exists (mice, harddrives, keyboards, ...) which works. Some drivers are client space programs (example printing: CUPS). You don't search the net for new drivers or visit the vendors page. There might be rare exceptions.

  3. Yes, the whole CD is loaded to RAM which acts as a pseudo HDD.

3
  • I believe you are thinking of TomsRTBT, not TomsRBT. It's Tom's Root and Boot.
    – user
    Jul 24, 2012 at 8:45
  • @MichaelKjörling: Yes, found a link now. Pronounced it wrong year over year. :) Jul 24, 2012 at 14:04
  • The assertion that the entire cd is loaded is wrong, as IIRC an overlay file system is used.
    – strugee
    Sep 15, 2013 at 8:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .