How Do Linux Kernel Drivers Work? - Learning Resource

preview_player
Показать описание
If you want to hack the Kernel, are interested in jailbreaks or just want to understand computers better, Linux Device Drivers is a great book to get you started. I used to learn the basics and in this video I want to share what *clicked* for me.

-=[ ❤️ Support ]=-

-=[ 🐕 Social ]=-

Рекомендации по теме
Комментарии
Автор

I remember my dad, an old school linux military man told me that writing drivers was the "initial task" of many linux programmers. Thank you for sharing your experience.

first-thoughtgiver-of-will
Автор

Thumbs up for LiveOverflow ASMR where he reads Linux Device Drivers (Third Edition).

mrgummage
Автор

Hey @LiveOverflow
Regarding 14:30; Python is internally calling the C the standard library's stdio buffered functions (fread/fwrite) which does the buffering which internally makes the syscall specifying the file descriptor, which triggers the char module's read/write function.

davidalm
Автор

Fun fact: Linux kernel v2.6 has ~8 million lines of code, v5 has ~26 million lines of code :)

michaelandersson
Автор

I have the first edition of this book, and the "Understanding the Linux Kernel". Those books, starting with Linux in 1994 and reading literally hundreds of Howto documents, and doing a Linux from scratch build, taught me a ton. Too bad that pretty much all of what I learned back then has since been superceded by evolution. Getting X up and running in the 90s was also a major learning experience.

tonyfremont
Автор

Hey. I enjoyed the video. I didn't really feel it was 17 minutes long. It went by fast.
Just wanted to say this might be a very good, and so far unimplemented type of video format:

You pick a free-to-the-public book, like this one, and read/work through it chapter by chapter. Except you might do it in like a live-stream format ? (maybe one livestream per chapter)
I know the live part is kinda daunting, but I feel that doing this would either way help you:

- You get obviously the benefits from reading/working through the book.
- I feel this might attract viewers since in a way, you will pretty much look like you are "noob" while learning. It will show the viewer that learning is a sort of tough process ? And that they shouldn't expect to know it all in one sitting. And in a way, since this actually attracts people, you might feel the freedom of messing up, of not editing, of not having to look too damn professional. Just be yourself, learning.
- Get the profit from the views.
- I don't know if this one counts but: Sometimes (really uncommon times), knowledgeable viewers might get in the livestream, so if you don't know a certain something, or are working through something they know, they might raise helpful ideas or explanations, thus increasing the dialog, making it more engaging to viewers to stay in the stream.

I really wish you could do it with ANY book. Of course copyright :/ (I wonder if it's legal that you could buy the book, and then show it here. Or work through it this way)
Maybe you could even do patreon requests every time you want a new book; effectively making us pay for it. Since in the end, you would be providing us with useful info.

In the end. You might get a nice catalog of playlists of books you've worked through. Viewers from any point in time [who bought / are interested in a book] can follow along with you in the future. You put a bunch of ads in every live-stream, and PROFIT.

Maybe it is nice publicity for the book ? and also for you. So that you can tweet or somehow contact the writers about doing copyright books. Maybe some will allow it?
I know for instance there's this open book about reverse engineering, that the guy updates constantly, and he releases totally free. So you might work through it ? learn, and PROFIT.
All while making the book more known, increasing the dialogue, etc.

shiregrin
Автор

how you went into the library to analyze the makefile, realized that you have that directory on your linux and then just executed it and it works was just amazing :D

homere
Автор

I've watched this video so many times before and did not really understand a single thing 😂 ... Only for me to now enroll into Virtualization course in our university and get an assignment about implementing linux drivers. Thus, after doing 3-4 days of dirty work, I came again today and understood (and related) every single thing in your video!

samarthtandale
Автор

You are such an amazing teacher! This really got me pumped to go read the book. The two demonstrations especially were top notch and I can definitely feel how enthusiastic you are! :D

branchwag
Автор

Great video! It is truly fascinating that one can compose these file and block drivers on top of each other so that a simple open+write to a certain file can go through a Samba client to send the write call to another server, have it written to an ext4 filesystem which uses a virtual block device which stacks in transparent encryption and mirroring to two different underlying disks, which are actually just block devices, or even might span multiple disks via again virtual block devices...

joonasfi
Автор

I have a certain understanding of drivers, and I have worked in semiconductor manufacturers before. This video is a driver getting started video. The reason I like this video is that the English pronunciation of the video owner is clearer and I can understand it better, which helps me practice English well.

wanglin
Автор

Hell of a nice coincidence, I had just started reading the first chapter of this book. Thanks for the vid, man

soapmcsoaperson
Автор

At the beginning, is that Ben Eater's 8-bit breadboard computer design?

trickster
Автор

i Just followed the code example and was blown away. Great work. A lot of people say making a series out of that would be amazing and I can only agree!

tollertup
Автор

How Linux Works, 2nd Edition: What Every Superuser Should Know by Brian Ward, also a great book regarding an overview of Linux.

marekunas
Автор

Awesome video, I did the simple hello kernel module a few years ago and was in over my head. I wanted to create a simple way to send commands to an Arduino, ultimately controlling a stepper motor. I thought the best way to do that would be to create a driver and simple "client-side" code to take commands in the terminal, writing to the device "file" to provide a number of steps and direction to the stepper motor. You've re-ignited my interest and I may make another attempt.

adammontgomery
Автор

My 3rd year computer science project for my university course will require me to write Linux device drivers. This looks like a really good place to start. Thanks so much!

cernsb
Автор

Knew about linux drivers and fs devs a long before this video but to see an actual example... Exceptional! Thank You!

filipsworks
Автор

I learned Unix operating system in school, feel this short video is worth about 2 hour school in-class lecture. Thank you for sharing. This teaching style is more practical than school does

friday
Автор

This is mindblownig as you said! I never knew how that devices works and acting like a file - thanks for that daily videos, I'm learning so much stuff

solveit
join shbcf.ru