If you are interested in systems programming, learning C as others have commented, is a must. However, you should not jump into the deep end. From your comment,it seems you don't have much programming experience, so I would recommend you learn Python (v2.7 I believe is installed by default on Trisquel). It is good for beginners because it teaches the principles of programming well but can also be used for more powerful programs. You should program things you are interested in, either making fun projects of your own, or helping others in their projects by submitting patches and small modifications. As for systems programming, that is a really advanced topic. Once you have gained experience in C (after you are comfortable with Python, for instance), try looking at the Linux kernel source code and how drivers work. Other topics that might be interesting would be programming an emulator, for example for the old Motorola 68k chips, Intel 8080 or 4040 chips, or the Nintendo Game Boy (I admit this is something I always wanted to try). As for boot firmware... That's really tricky. Look at projects such as U-boot and Coreboot and join mailing lists and IRC.
Don't give up!

Reply via email to