Skip to content

Mangjun/rpi4-linux-kernel-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Linux Kernel Core Mastery (2์ฃผ ์†์„ฑ ์‹ค์ „๋ฐ˜)

๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” ๋„์„œ [๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ๊ตฌ์กฐ์™€ ์›๋ฆฌ 1, 2๊ถŒ]์„ ๊ธฐ๋ฐ˜์œผ๋กœ, ํ˜„์—…์—์„œ ์š”๊ตฌํ•˜๋Š” ํ•ต์‹ฌ ์ปค๋„ ๋””๋ฒ„๊น… ๋ฐ ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ ์—ญ๋Ÿ‰์„ ๋‹จ๊ธฐ๊ฐ„์— ๋งˆ์Šคํ„ฐํ•˜๊ธฐ ์œ„ํ•œ ์‹ค์Šต ๋ฐ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•œ ์ด๋ก  ๊ณต๋ถ€๋ฅผ ๋„˜์–ด, ํ˜ธ์ŠคํŠธ PC์—์„œ ํฌ๋กœ์Šค ์ปดํŒŒ์ผ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํƒ€๊ฒŸ ๋ณด๋“œ(Raspberry Pi 4)์— ๋™์ ์œผ๋กœ ๋ชจ๋“ˆ์„ ์ ์žฌํ•˜๋ฉฐ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ด์Šˆ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ

๋ฒ„์ „์ด 1์ž๋ฆฌ๋งŒ ๋‹ฌ๋ผ๋„ ๋™์ž‘์ด ๋‹ฌ๋ผ์ง€๋Š” ์ปค๋„์˜ ํŠน์„ฑ์ƒ, ์ฒ ์ €ํ•˜๊ฒŒ ํ†ต์ œ๋œ ํ™˜๊ฒฝ์—์„œ ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • Target Board: Raspberry Pi 4 Model B (4GB) - ARM64
  • Target OS: Raspberry Pi OS (64-bit)
  • Kernel Version: 6.18.34-v8+
  • Host OS: Ubuntu 24.04 LTS (Docker Container)
  • Cross-Compiler: aarch64-linux-gnu-gcc
  • SSH & Terminal: MobaXterm
  • Network Analysis: tcpdump (Target) + Wireshark (Host)

๐Ÿ“‚ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๋ฐ ์ „์ฒด ๋ชฉ์ฐจ

ํ˜„์—… ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ์— ์ฆ‰์‹œ ํˆฌ์ž…๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ต์‹ฌ ์ฝ”์–ด ์œ„์ฃผ๋กœ ์ปค๋ฆฌํ˜๋Ÿผ์„ ์žฌ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

Phase 1: ์ปค๋„ ๋ชจ๋“ˆ๊ณผ ๋””๋ฒ„๊น…

  • 00_env_setup/: ํฌ๋กœ์Šค ์ปดํŒŒ์ผ ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ(Module.symvers) ๋™๊ธฐํ™”
  • 01_hello_module/: ๊ธฐ๋ณธ ์ปค๋„ ๋ชจ๋“ˆ ์ œ์ž‘ ๋ฐ ์ ์žฌ ์‹ค์Šต
  • 02_ftrace_debugging/: ์ปค๋„ ๋‚ด๋ถ€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ํ๋ฆ„ ์ถ”์  (ํ˜„์—… ํ•„์ˆ˜ ๋””๋ฒ„๊น… ํˆด)

Phase 2: ์ฝ”์–ด ์„œ๋ธŒ์‹œ์Šคํ…œ ๋ถ„์„

  • 03_process_thread/: ํƒœ์Šคํฌ(Task) ์ƒ์„ฑ ๋ฐ ์Šค์ผ€์ค„๋ง ์ด๋ก /์‹ค์Šต
  • 04_interrupt/: ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ(IRQ) ์ฒ˜๋ฆฌ ๊ตฌ์กฐ ๋ฐ ํ•ธ๋“ค๋Ÿฌ ๋“ฑ๋ก
  • 05_synchronization/: ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ™˜๊ฒฝ์˜ ๋™๊ธฐํ™” ๊ธฐ๋ฒ• (Spinlock, Mutex)
  • 06_deferred_work/: ํ›„๋ฐ˜๋ถ€ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ• (Workqueue, Tasklet)

๐Ÿ’ก ๊ฐ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์—๋Š” ์‹ค์Šต ์†Œ์Šค ์ฝ”๋“œ(.c, Makefile)์™€ ํ•จ๊ป˜, ์—๋Ÿฌ ํ•ด๊ฒฐ ๊ณผ์ •์„ ๋‹ด์€ README.md๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

About

[6.18.35-v8+] kernel study

Resources

Stars

Watchers

Forks

Contributors