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!
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...
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 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/.
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!
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.
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.)
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...
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.
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.
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!
Innit! Or should I say init.cpio?
Thanks!
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...
Not much reasons to go that deep, since you'll have to provide implementations for PS/2, USB and other possible input protocols.
It would be truly cursed if the code variable was given a random value after a keystroke.
I should mod the kernel on lab computers with this :)
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.
Or `cp /boot/config-$(uname -r) ./.config` then make ...
@@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/.
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!
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.
I really appreciate the way you give brief descriptions of what things are doing, its helped me understand the kernel/os so well. Thanks!
Underated youtube channel
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.)
This guy is the kind of computer nerd that they show hacking a bank in hollywood movies
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...
LOL! This is why people shouldn't skip $ vimtutor.
Did this guy just modify, compile, write and compile an init program and run it all in less than 7 minutes, while explaining it ?
I never knew that customizing the Linux kernel will be this easy. Thank you ❤
I love this channel!
Thank you for creating such interesting, educational and amazing videos
Keep making these videos! I loved this channel
Great stuff, i m new to this, so it helps understanding what is possible
Wow such an innovative video .... Teaches u about modifying the kernel and booting it up with new initcode
bro I love these videos
im having a key stroke
This is hilarious and very informative 👍
So it just appends the ascii chars, I hope you also tried the shiftkeys and the special ones
You have good videos!
would it even more cursed if you do modulo on the data var?
Awesome video, thanks aloy will be sure to subscribe 😊
Should have set the value to random to make it even more cursed.
Would be funnier to make it add 1 only sometimes
Make it rare enough so the user thinks they made a typo
Yoooooo, epikkk
amazing!!
"Subscribe for more programming videos"
I loved this lol
Subscribed 👏👏👏
still waiting on html tutorial
on my list :)
@@nirlichtmando the most cursed html tutorial you can:)
adBlocker :D
can you make a tutorial on malloc in C
on usage of malloc or how it is implemented?
@@nirlichtman An implementation video would be great
^
@@robertkiestov3734 Agreed, I'd love to see how such a vital function does stuff under the hood!
:O thats crazy
Neat!
Can you go out of bounds by pressing the most right key?
It will paste the source code for half-life 3
co0l!
Hey, Thanks a lot
I am not surte that i fully why you needed you create cpio archive
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.
Cool material. The question is why are you using windows to program the linux driver?
💖💖💖💖
why though 😂?
fun
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.
It’s pronounced qemu.
qiqcwetxiik
I've done it much easier when they fucked up the Logitech's Lightspeed driver. In fact I didn't enjoy it
I'm with @bernhardbaumgartner4702
You make these things look pretty easy !