Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I want to play with Linux to better understand how it works. Thus, I am looking for a very basic and small Linux to play with. I tried small Linux distributions (which copy themselves to RAM), but they have their own structure (like Live CD). Instead, I wish to have a minimal but standard Linux structure.

I installed minimal version of Debian on USB and setup GRUB to separate this experiment from my main computer. However, Debian (even minimal) is far more advanced than what I need.

What is the best method to copy a very minimal version of Linux on USB and boot with GRUB? Each distribution has its own features and options, but I prefer to be closer to the standard Linux (Linux kernel) without customization of a distribution.

share|improve this question
1  
I don't understand - unless the goal is to minimize disk space and ram usage, why would you care if something is "more advanced" than what you need? "Too advanced" is not a problem - just ignore the parts that you don't need. –  jw013 Sep 17 '12 at 14:24
3  
@jw013 as title says, it is not for real usage. I just want to explore the processes. With lesser files, I have better chance to trace each process. –  All Sep 17 '12 at 14:28
    
An alternative to booting a USB stick or CD is to run your learning linux inside a virtual machine. Installing VirtualBox is probably the easiest way to do that (and works whether your main OS is Linux, Windows, or Mac). There are also several sites on the web where you can download pre-built disk images for VirtualBox containing various flavours of linux, *bsd, opensolaris, haiku (beos clone), reactos (Windows XP/2003 clone) and others. –  cas Sep 17 '12 at 23:10
add comment

7 Answers 7

up vote 4 down vote accepted

Slackware should do.

And to be honest - there is no "standard" linux.

You define your standard afer you defined what you need to do with it and what to expect from it.

The low-level (plug and play, device-naming, network configuration, system configuration, detection of network services, hardening) is quite different on different linux distributions. Even init-scripts and how they get processed during boot is different.

share|improve this answer
    
Thanks for the suggestion, I never tried that. Thus, you mean the only standard approach is to directly start from the Linux kernel itself. But I think that should not be easy to build a bootable working version of Linux kernel. –  All Sep 17 '12 at 15:33
    
+1 "there is no 'standard' linux" –  ultrasawblade Sep 17 '12 at 17:00
    
+1 ditto same reason –  César Sep 18 '12 at 16:18
    
@Ali Slackware is a complete linux-distribution (not just a kernel) - but it is pretty basic and very simple (comparable to OpenBSD). I recommend it to you, since the startup-scripts are not such complicated and have no indirections or deep dependencies (at least when I last looked at it). –  Nils Sep 19 '12 at 13:42
    
Note: Ali (1st comment here) is the OP. Would have helped to know Ali's been on Ubuntu for years! :) –  Michael Durrant Dec 11 '12 at 0:28
show 1 more comment

There isn't such thing as "standard Linux". For learning (what do you want to learn, specifically?), a minimal install of Slackware should do.

You can easily build a kernel that boots, but it will be useless without userspace applications (e.g. shell and utilities).

If you want to build your own system from scratch, check Linux from Scratch.

Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.

share|improve this answer
    
It was my initial idea to install Linux kernel + basic utilities such as batch. But there was no instruction how to do so except LFS. It is very informative but the tutorial is no practical at all. I mean there is no step by step instruction for installing the Linux kernel, then utilities. –  All Sep 17 '12 at 15:43
3  
@Ali The LFS guides you through building and installing a kernel + standard utilities, thus in the end you have a very minimal system. It isn't a tutorial, but rather, a book that assumes you have basic Linux skills. –  Renan Sep 17 '12 at 15:45
add comment

You might try looking at a BSD distribution. If you are mainly interested in having a look at how Unix works than the BSDs are nice and clean in my opinion, especially the so called base system, which you sound like you are interested in is clearly separated from the applications etc. I recommend FreeBSD, because, once you've had a look around, you may decide to stay, and FreeBSD has an extensive port system, which gives you the chance to build a the custom system, you want.

Another perspective is to play around with Linux From Scratch (LFS)-- although, in my experience, this is a larger commitment.

share|improve this answer
add comment

I recommend you Install Ubuntu which is very user-friendly and doesn't depend on command line skills, etc, but as you learn them you can use them.

Ubuntu has a massive community that will enable you to find answers easier than a custom built solution of your own.

share|improve this answer
    
My own computer is Ubuntu, as I've been user of Ubuntu for many many years :-) –  All Sep 17 '12 at 17:00
1  
This is probably a good choice for a "first Linux", but it's definitely nowhere near "standard" on anything with the amount of patching and NIH.. –  Brendan Long Sep 17 '12 at 20:29
    
I wonder whatever happen to Mandrake? –  hydroparadise Sep 17 '12 at 21:12
    
+1 I think Ubuntu is great for starters –  César Sep 18 '12 at 15:43
add comment

Depending on what you are teaching them -- you might want to at least peek at this:

http://bellard.org/jslinux/

It is, literally, Linux-in-the-browser. No software to install. Nothing saved. No chance of screwing anything up.

If you don't know the name, Bellard a long history of writing various emulators and compilers. This is a legit thing.

share|improve this answer
add comment

I'm sorry but there is no 'standard linux' existed. The Linux system is assembled by the kernel and userspace tools. The Linux kernel can did nothing without the corresponding userspace tools -- kernel just providing functions allow userspace application to call.

Distributions packed the kernel with some selected userspace tools. Each distribution prefer different userspace applications. So, the distribution just like a bundle, which assemble different userspace tools and the kernel together, and publish it with CD image.

There are already some specifications to standardize all distributions, like Filesystem Hierarchy Standard, which standard the filesystem structure.

In one word, distribution just pack the Linux kernel with different userspace tools. There are NO standard Linux existed. If you prefer the traditional UNIX style, just install FreeBSD or Debian/GNU Linux.

Sorry for my English.

EDIT: If you want a minimal Linux, try LFS(Linux From Stretch), but it's too complicated for a newbie, not recommended. And, if you want to learn how Unix works via source code, try to download Linux 0.0.1 and Minix source code. I believe Minix is a good start. Also, if you are interested in microkernel operating system, try Mach3. I'm doing some interesting work on that amazing system these days. :-)

share|improve this answer
add comment

If the Live/Rescue distros are off the table, then you probably have to roll your own to get it as minimal as you're saying. Mainstream distros such as Ubuntu, Fedora, Slackware, et.al. try to be complete solutions rather than just starting points. That's part of what makes them mainstream.

The LiveCD distros such as SystemRescueCD usually start with an existing distro such as slackware or gentoo or debian, and then remove everything they don't want. You can follow the same approach if you feel like sinking some time into it. Or you can just install a LiveCD distro onto your HD.

A good distro for doing just that is slax. It's a modular slackware variant intended for building custom LiveCDs or live USB drives. You pick and choose the pieces you want to include, and burn your very own Live OS. But you can also use it to install to your hard drive. This is a "supported" use case and they explain how to do it.

Alternately, Linux From Scratch is more of a learning tool than a mainstream distro, they provide enough pieces for you to build a distro of your own design and with only the pieces you want. It's a time investement, but it's a learning experience. And you end up with exactly (and only) what you want.

Similarly, Gentoo is another "build it yourself" distro. They provide the sources, and your computer spends the next 200 hours quietly compiling software in the background. But again, only the software you want.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.