1

I am a programmer looking to gain expert experience into the workings of the Linux operating system.

I have gone through many tutorials and materials on the basic workings of operating systems and have even had a pass at the source for the xv6 operating system.

I have an old laptop/notebook, which I will like to set up to go through all the examples in the free eBook "Linux device drivers". The computer in question has the following specifications:

PROCESSOR: Intel(R) Atom(TM) CPU N280 @1.66Ghz 1.67Ghz
MEMORY: 1GB
TYPE: 32 bit

I am looking to wipe the hard disk clean and have Linux running as the only operating system on the computer.

Also, reading Chapter 2 of the above mentioned eBook, it talks about having a kernel source tree in place to run the examples. I will appreciate if someone could explain how this will be used in the context of experimenting with the tutorials.

closed as too broad by Sparhawk, msp9011, Philippos, X Tian, muru Jun 18 at 11:42

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

2

You will need the Linux kernel sources and development tools (GCC, binutils, etc) to be able to compile and test the example device drivers. Be warned, though, that the book is quite old and a lot of the examples don't work anymore. Your 32-bit computer poses a challenge as a lot of Linux distributions don't support 32-bit PCs anymore. You can find a list of distros that do by searching for "Lightweight Linux distributions for older computers."

Edit:

Here are two online resources you may find useful:

  • (And the reason Fedora Linux thought about dropping 32-bit support was specifically that the 32-bit x86 kernel is bit-rotting). – sourcejedi Jun 10 at 14:41
  • I wouldn't be too concerned about bitrotting if the PC is just going to be used to study the Linux kernel and compiling drivers. If the OP can get the machine up and running, then it is most likely OK for this purpose. You don't necessarily need a GUI for this either; a text console could be a better solution if a graphical environment puts too much load on the machine. – Johan Myréen Jun 10 at 15:05
2

an easy to install/use Linux distribution for this purpose

why not ubuntu

PROCESSOR: Intel(R) Atom(TM) CPU N280 @1.66Ghz
1.67Ghz MEMORY: 1GB
TYPE: 32 bit

oh.

I think this is very limiting. It would almost be historical re-enactment.

You did not ask about this, but I think it is quite limiting to get started with kernel programming without the possibility of using GIT (the version management system used for the kernel source code). I remember GIT being painfully slow when you do not have enough RAM.

If you have access to a PC which is more powerful than an old "netbook", and you do not want to interfere with the existing OS, please consider using a virtual machine. For example you can get VirtualBox for Windows (or virt-manager for Linux, or ...) for free.

Even being able to go up to 2GB of RAM and 64-bit would be much less limiting. And using a more powerful processor is useful for compile times.

4GB RAM would be better. 2GB RAM is the minimum "recommended" for the standard Ubuntu Desktop. If you want to do any work that benefits from available RAM, it is probably better to have more than the "recommended" amount for the distribution you choose to install.

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