Screwing Up Linux Kernel Keyboard Driver

  Рет қаралды 27,111

Nir Lichtman

Nir Lichtman

Күн бұрын

Пікірлер: 69
@bernhardbaumgartner4702
@bernhardbaumgartner4702 5 ай бұрын
I’m absolutely stunned by how easy you make things appear that actually are pretty complicated and cumbersome, e.g. booting a customized Linux kernel with a custom init process. And that holds true for all your other videos as well. There’s so much more to get and learn from your videos than their titles and quite short durations would allow you to expect. Truly, truly amazing, Chapeau!
@thesushifiend
@thesushifiend 5 ай бұрын
Innit! Or should I say init.cpio?
@nirlichtman
@nirlichtman 5 ай бұрын
Thanks!
@vlc-cosplayer
@vlc-cosplayer 5 ай бұрын
I can already see the alternative layout nerds modding their kernel so that Dvorak, Colemak, etc. are baked in, and they don't need to wrestle with Xorg...
@ivanjermakov
@ivanjermakov 5 ай бұрын
Not much reasons to go that deep, since you'll have to provide implementations for PS/2, USB and other possible input protocols.
@rolandlemmers6462
@rolandlemmers6462 5 ай бұрын
It would be truly cursed if the code variable was given a random value after a keystroke.
@Rametesaima
@Rametesaima 4 ай бұрын
I've been programming for 12 years and it's always fun learning new things. Really love your straight-forward video format where you just dive into the code and explain exactly what's happening without unnecessary fluff. Keep up the awesome work!
@johanngambolputty5351
@johanngambolputty5351 5 ай бұрын
This is an awesome walkthrough, I've compiled a kernel before (but not made modifications), and I boot into the one I'm running from efi (so vaguely aware of providing the image as an arg), but wondered about custom initrd and custom init programs.
@mzakyr342
@mzakyr342 5 ай бұрын
Underated youtube channel
@shadesoftime
@shadesoftime 5 ай бұрын
This guy is the kind of computer nerd that they show hacking a bank in hollywood movies
@thesushifiend
@thesushifiend 5 ай бұрын
After years of using vi (probably VIM actually) I've just learned that you can open files from within it with :e ! You make me feel like such a dumbass...
@aniksamiurrahman6365
@aniksamiurrahman6365 5 ай бұрын
LOL! This is why people shouldn't skip $ vimtutor.
@bacphan7582
@bacphan7582 5 ай бұрын
Did this guy just modify, compile, write and compile an init program and run it all in less than 7 minutes, while explaining it ?
@mythacker4365
@mythacker4365 5 ай бұрын
I never knew that customizing the Linux kernel will be this easy. Thank you ❤
@CYXXYC
@CYXXYC 5 ай бұрын
im having a key stroke
@Scorpieonna_Sting
@Scorpieonna_Sting 5 ай бұрын
1:30 Instead of making it do +1 to everything, you should make it appear random but be completely deterministic. My idea is that it changes the imputed letter based on the previous imputed letter. Something like: Since "C" is the third letter, the next letter will be +3, to the imputed letter. Example: First imput is C (the 3rd alphabet letter), second imput is B (the 2nd alphabet letter), the result is E (5th alphabet letter), because 3+2= 5. (Note: Just don't accidentally make the result/"E" the previous imput for the next letter, or it will be super unpredictable.) Typing "Hello" would equal: HMQXA Following this process: H/8 is unaffected. H/8 + E/5 = M/13 E/5 + L/12 = Q/17 L/12 + L/12 = X/24 L/12 + O/15 = 27->A/1 (Looped to the start.)
@yaroslavluck7234
@yaroslavluck7234 5 ай бұрын
Thank you for creating such interesting, educational and amazing videos
@0xgordo350
@0xgordo350 5 ай бұрын
bro I love these videos
@gareth4348
@gareth4348 5 ай бұрын
Should have set the value to random to make it even more cursed.
@Jonathan-ru9zl
@Jonathan-ru9zl 3 ай бұрын
Hi. Is it possible to make linux driver that can detect fingerprint (to make the need to type the password endlessly obsolete)?
@Amythiz
@Amythiz 5 ай бұрын
Would be funnier to make it add 1 only sometimes
@shadesoftime
@shadesoftime 5 ай бұрын
Make it rare enough so the user thinks they made a typo
@RahulNarsing-lx9pi
@RahulNarsing-lx9pi 5 ай бұрын
Yoooooo, epikkk
@ignorethenameplis
@ignorethenameplis 5 ай бұрын
can you make a tutorial on malloc in C
@nirlichtman
@nirlichtman 5 ай бұрын
on usage of malloc or how it is implemented?
@robertkiestov3734
@robertkiestov3734 5 ай бұрын
@@nirlichtman An implementation video would be great
@ignorethenameplis
@ignorethenameplis 5 ай бұрын
^
@petriksacha
@petriksacha 5 ай бұрын
@@robertkiestov3734 Agreed, I'd love to see how such a vital function does stuff under the hood!
@majtej2403
@majtej2403 5 ай бұрын
Cool material. The question is why are you using windows to program the linux driver?
@everythingtube172
@everythingtube172 2 ай бұрын
I think he’s using wsl
@iLuvHalav
@iLuvHalav 5 ай бұрын
Awesome video, thanks aloy will be sure to subscribe 😊
@braz1080
@braz1080 5 ай бұрын
still waiting on html tutorial
@nirlichtman
@nirlichtman 5 ай бұрын
on my list :)
@nathaaaaaa
@nathaaaaaa 5 ай бұрын
​@@nirlichtmando the most cursed html tutorial you can:)
@GameBacardi
@GameBacardi 5 ай бұрын
adBlocker :D
@CocolinoFan
@CocolinoFan 5 ай бұрын
This is hilarious and very informative 👍
@adamhafchadi4924
@adamhafchadi4924 5 ай бұрын
Hey, Thanks a lot I am not surte that i fully why you needed you create cpio archive
@nirlichtman
@nirlichtman 5 ай бұрын
I used cpio to make the initramfs (containing only the init executable with the read.c code), so that the kernel would load this code as the first user mode process (init), after it finishes initializing.
@GameBacardi
@GameBacardi 5 ай бұрын
You have good videos!
@Wraient
@Wraient 5 ай бұрын
"Subscribe for more programming videos"
@mohsenzare2511
@mohsenzare2511 5 ай бұрын
amazing!!
@lt3lt3lt3
@lt3lt3lt3 5 ай бұрын
I loved this lol
@omegahaifoleet
@omegahaifoleet 5 ай бұрын
:O thats crazy
@luissalazar5000
@luissalazar5000 5 ай бұрын
Subscribed 👏👏👏
@eVITORIOe
@eVITORIOe 5 ай бұрын
I'm with @bernhardbaumgartner4702 You make these things look pretty easy !
@ChandrashekarCN
@ChandrashekarCN 5 ай бұрын
💖💖💖💖
@BenjaminWheeler0510
@BenjaminWheeler0510 4 ай бұрын
It’s pronounced qemu.
@TuxikCE
@TuxikCE 5 ай бұрын
why though 😂?
@Paolog_
@Paolog_ 5 ай бұрын
fun
@fqdn
@fqdn 5 ай бұрын
Learning by breaking stuff is one of the best ways to go about it when getting into developing for an existing codebase, stuff like this is a great way to get your feet wet. It's also a good sanity check if you are even modifying the right thing.
@nathaaaaaa
@nathaaaaaa 5 ай бұрын
I've done it much easier when they fucked up the Logitech's Lightspeed driver. In fact I didn't enjoy it
@catsawkotowaty9111
@catsawkotowaty9111 5 ай бұрын
I should mod the kernel on lab computers with this :)
@krzysztofadamski7804
@krzysztofadamski7804 5 ай бұрын
A small tip related to 1:51. If it's your first time compiling kernel it would make sense to start from a defconfig (by using "make x86_64_defconfig) and only *then* optionally do "make menuconfig" or go straight to "make". This makes things much easier.
@1cubealot
@1cubealot 5 ай бұрын
Or `cp /boot/config-$(uname -r) ./.config` then make ...
@krzysztofadamski7804
@krzysztofadamski7804 5 ай бұрын
@@1cubealot Sure, this might be good idea if you want to run this kernel on your own machine. If it is going to be run on an emulator, this will probably be an overkill. Distribution kernels are huge. And the config is not always available in /boot/.
@sintaklaas6427
@sintaklaas6427 5 ай бұрын
Great stuff, i m new to this, so it helps understanding what is possible
@megakev321
@megakev321 5 ай бұрын
I love this channel!
@gdplayer1035
@gdplayer1035 5 ай бұрын
qiqcwetxiik
@stevenchristenson2428
@stevenchristenson2428 2 ай бұрын
The kernel can actually support other initramfs stuff then CPIO now. I believe if you make a defconfig it auto enables the use of bz and gz compressed images. CPIO is arcane as shit with its syntax which is why you have to do all sorts of weird shit like passing it each file name via find or echo in your case...
@cristhopersanchez2449
@cristhopersanchez2449 5 ай бұрын
I really appreciate the way you give brief descriptions of what things are doing, its helped me understand the kernel/os so well. Thanks!
@markinius8866
@markinius8866 5 ай бұрын
would it even more cursed if you do modulo on the data var?
@neilmeich
@neilmeich 5 ай бұрын
co0l!
@roz1
@roz1 5 ай бұрын
Wow such an innovative video .... Teaches u about modifying the kernel and booting it up with new initcode
@Psychopatz
@Psychopatz 5 ай бұрын
So it just appends the ascii chars, I hope you also tried the shiftkeys and the special ones
@0xgordo350
@0xgordo350 5 ай бұрын
Keep making these videos! I loved this channel
@bdnugget
@bdnugget 5 ай бұрын
Can you go out of bounds by pressing the most right key?
@shadesoftime
@shadesoftime 5 ай бұрын
It will paste the source code for half-life 3
@justinnamilee
@justinnamilee 5 ай бұрын
Neat!
Linux System Calls Explained
1:57
Nir Lichtman
Рет қаралды 10 М.
How Linux Kernel Prints Text on Screen
12:46
Nir Lichtman
Рет қаралды 71 М.
Inside Out 2: BABY JOY VS SHIN SONIC 3
00:19
AnythingAlexia
Рет қаралды 8 МЛН
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 53 МЛН
How Strong is Tin Foil? 💪
00:26
Preston
Рет қаралды 120 МЛН
Making a Very Minimal Windows Executable in C
7:48
Nir Lichtman
Рет қаралды 91 М.
What Happens When Booting Linux with Low Memory
5:11
Nir Lichtman
Рет қаралды 64 М.
Making Minimalist Web Server in Assembly on Linux (x64)
18:31
Nir Lichtman
Рет қаралды 36 М.
Git Bisect | Automatically Find Your Bugs
3:54
matt-savvy
Рет қаралды 214
why is it illegal to use "goto"?
5:23
Low Level
Рет қаралды 260 М.
How Windows Kernel Draws Graphics
10:59
Nir Lichtman
Рет қаралды 45 М.
Linux vs Windows Round 0: A Microsoft Dev Builds the Linux Kernel
13:49
Making Simple Graphical Linux Distro from Scratch
17:19
Nir Lichtman
Рет қаралды 61 М.
why is this weird keyboard so good?
18:35
pinguefy
Рет қаралды 9 МЛН
Adding Simple System Call in Linux Kernel
7:44
Nir Lichtman
Рет қаралды 16 М.
Inside Out 2: BABY JOY VS SHIN SONIC 3
00:19
AnythingAlexia
Рет қаралды 8 МЛН