I am trying to LEARN writing device drivers for linux. Have installed ubuntu on my PC and am stepping through a linux device driver book.

a. Now to get started to write a simple char driver, i need to get the kernel source tree on my disk. How do i do this (get the source tree) on ubuntu 10.04?

b. As i am just starting to learn this, Will really appreciate any suggestions/directions that will help me orient and accelerate the learning of device driver writing.