Create Kernel Driver: Difference between revisions
Jump to navigation
Jump to search
Line 30: | Line 30: | ||
=Making Driver= | =Making Driver= | ||
Linux treats everything like a file and lets you do the following | Linux treats everything like a file and lets you do the following | ||
*Open | |||
*Close | |||
*Read | |||
*Write | |||
*Seek | |||
You can create a | You can create a | ||
*Char Device e.g. uart | *Char Device e.g. uart | ||
*Block Device e.g. fs, drive | *Block Device e.g. fs, drive | ||
*Network Device e.g. nic | *Network Device e.g. nic |
Revision as of 04:19, 20 January 2025
Introduction
This seems like a way to create a VM for kernel development so thought I might take some notes
Setup Multipass
Install
snap install multipass
Create box
multipass shell
Edit /etc/ssh/sshd_config and change
KbdInteractiveAuthentication yes
Reload daemon
sudo systemctl daemon-reload
restart daemon
sudo systemctl restart ssh.service
set passwd
sudo passwd ubuntu
get IP (never knew this)
hostname -I
Setup VS Code
Go to extensions and in remote development extension. Connect via ssh
Restart Multipass
List what we have
multipass list
For this we just type
multipass shell
Install Software for Driver Development
To do this
sudo apt update sudo apt upgrade sudo apt install build-essential linux-headers-$(uname -r) kmod
Making Driver
Linux treats everything like a file and lets you do the following
- Open
- Close
- Read
- Write
- Seek
You can create a
- Char Device e.g. uart
- Block Device e.g. fs, drive
- Network Device e.g. nic