Advice on Tools, methodologies, and introductions :)
Posted: Tue Jan 27, 2009 12:54 pm
Hey everyone Just thought I'd introduce myself to the board and perhaps ask a few questions to fill in a few gaps in my knowledge.
First some background on myself.
I have about 10 years of experience in C++ and am passingly familiar with C. I'm familiar with the C standard library and even some of the idioms, but I would not call myself experienced in pure ANSI C. Over the last 1.5 years I've found myself using mostly C# professionally (3.5) and, while it pays well, it doesn't really scratch the itch that caused me to fall in love with development in the first place. So here I am. I'm thinking a superhero archetype would describe me best. Plain C# hacker during the day, tight wearing, OS dev'ing wild eyed caffeine fueled leaper of tall buildings lover of beautiful women hacker dude in the evenings
So with that out of the way, here are the tools I've settled on.
Gentoo Linux
ANSI C
gcc (make, ld, etc).
nasm
bochs
bash (for automation and the like) Note: unless you guys recommend against this approach for some reason.
Now for the questions. Also, if I need to RTFM, please at least link TFM that I need to R
1. I see 2 book recommendations for hardware, which do you guys feel is better for someone who is just starting? The books are "The Indispensable PC Hardware Book" and "The Undocumented PC".
2. Are there any recommended resources for assembly/nasm?
3. This is probably just a gap in my knowledge, but I was following the loopback device article on the wiki, and it talks about creating floppies, and hd images. It also talks about formatting the disk and putting files on it manually. Is formatting even necessary at this point? How do you guys normally go about pushing your bootloader and/or kernel onto an image?
4. automation wise, what do you guys recommend I do first, and if you don't mind, perhaps a little of the how or links? What I mean is, instead of telling me to automate pushing my images onto a disk, perhaps a little insight into how I do this please?
Ok, that's all I have for now. Since this is a part time pasttime for me it's probably going to go a little slow, but hopefully I'll soon be answering questions for others
Also, I believe my weak spots are knowledge of hardware and assembly so any extra recommendations in this area are not going to be ignored.
First some background on myself.
I have about 10 years of experience in C++ and am passingly familiar with C. I'm familiar with the C standard library and even some of the idioms, but I would not call myself experienced in pure ANSI C. Over the last 1.5 years I've found myself using mostly C# professionally (3.5) and, while it pays well, it doesn't really scratch the itch that caused me to fall in love with development in the first place. So here I am. I'm thinking a superhero archetype would describe me best. Plain C# hacker during the day, tight wearing, OS dev'ing wild eyed caffeine fueled leaper of tall buildings lover of beautiful women hacker dude in the evenings
So with that out of the way, here are the tools I've settled on.
Gentoo Linux
ANSI C
gcc (make, ld, etc).
nasm
bochs
bash (for automation and the like) Note: unless you guys recommend against this approach for some reason.
Now for the questions. Also, if I need to RTFM, please at least link TFM that I need to R
1. I see 2 book recommendations for hardware, which do you guys feel is better for someone who is just starting? The books are "The Indispensable PC Hardware Book" and "The Undocumented PC".
2. Are there any recommended resources for assembly/nasm?
3. This is probably just a gap in my knowledge, but I was following the loopback device article on the wiki, and it talks about creating floppies, and hd images. It also talks about formatting the disk and putting files on it manually. Is formatting even necessary at this point? How do you guys normally go about pushing your bootloader and/or kernel onto an image?
4. automation wise, what do you guys recommend I do first, and if you don't mind, perhaps a little of the how or links? What I mean is, instead of telling me to automate pushing my images onto a disk, perhaps a little insight into how I do this please?
Ok, that's all I have for now. Since this is a part time pasttime for me it's probably going to go a little slow, but hopefully I'll soon be answering questions for others
Also, I believe my weak spots are knowledge of hardware and assembly so any extra recommendations in this area are not going to be ignored.