start off with reading 1) linux kernel development 2) linux device drivers 3) linux kernel module programming guide
have - understanding the linux kernel as your reference manual.
by now, you should be comfortable to read/understand the kernel source; download linux kernel source and start browsing through the code.
simply reading books wont get you anywhere - you need to play around with kernel source inorder to understand the linux kernel behavior and different problems you may come across. write simple kernel modules to get a hang of how you can interact/modify with the kernel.
join some opensource project and start fixing bugs you're comfortable with or just play around with your local linux kernel source - make changes; build and deploy and observe what happens.
EDIT:
if you have no prior knowledge of OS Theory and Fundamentals; then you should start here first - read either of the following books
1) Operating System Concepts by Galvin, Silberschatz OR 2)Modern Operating Systems by Tanenbaum
For programming related - system calls and stuff
read 1) Advanced Programming in the UNIX Environment - by Richard Stevens
have - understanding the linux kernel as your reference manual.
by now, you should be comfortable to read/understand the kernel source; download linux kernel source and start browsing through the code.
simply reading books wont get you anywhere - you need to play around with kernel source inorder to understand the linux kernel behavior and different problems you may come across. write simple kernel modules to get a hang of how you can interact/modify with the kernel.
join some opensource project and start fixing bugs you're comfortable with or just play around with your local linux kernel source - make changes; build and deploy and observe what happens.
EDIT:
if you have no prior knowledge of OS Theory and Fundamentals; then you should start here first - read either of the following books 1) Operating System Concepts by Galvin, Silberschatz OR 2)Modern Operating Systems by Tanenbaum
For programming related - system calls and stuff read 1) Advanced Programming in the UNIX Environment - by Richard Stevens