Linux 5.1 ์ปค๋„ ๋ฆด๋ฆฌ์Šค

๋‘ ๋‹ฌ ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— Linus Torvalds๋Š” ๋„์ž… ๋œ ์ปค๋„ ๋ฆด๋ฆฌ์Šค Linux 5.1. ๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ: ๋น„๋™๊ธฐ I/O io_uring์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์ธํ„ฐํŽ˜์ด์Šค, NVDIMM์„ RAM์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ, Nouveau์˜ ๊ณต์œ  ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ง€์›, fanotify๋ฅผ ํ†ตํ•œ ์ดˆ๋Œ€ํ˜• ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์ง€์›, Zstd ์••์ถ• ๊ตฌ์„ฑ ๊ธฐ๋Šฅ Btrfs์˜ ๋ ˆ๋ฒจ, ์ƒˆ๋กœ์šด CPUidle TEO ํ•ธ๋“ค๋Ÿฌ, 2038 ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๊ตฌํ˜„, initramfs ์—†์ด ์žฅ์น˜ ๋งคํผ ์žฅ์น˜์—์„œ ๋ถ€ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ, SafeSetID LSM ๋ชจ๋“ˆ, ๊ฒฐํ•ฉ๋œ ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ง€์›.

์ฃผ์š” ํ˜์‹ :

  • ๋””์Šคํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ, I/O ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ
    • ๋น„๋™๊ธฐ I/O๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ - io_uring, ์ด๋Š” I/O ํด๋ง ์ง€์›๊ณผ ๋ฒ„ํผ๋ง ์œ ๋ฌด์— ๊ด€๊ณ„์—†์ด ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์ œ์•ˆ๋œ ๋น„๋™๊ธฐ I/O ๋ฉ”์ปค๋‹ˆ์ฆ˜์ธ โ€œaioโ€๋Š” ๋ฒ„ํผ๋ง๋œ I/O๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์•˜๊ณ , O_DIRECT ๋ชจ๋“œ(๋ฒ„ํผ๋ง ๋ฐ ์บ์‹œ ์šฐํšŒ ์—†์ด)์—์„œ๋งŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฐ€์šฉ์„ฑ์„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์ž ๊ธˆ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค๋Š” ์ ์„ ์ƒ๊ธฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฐ ์˜ค๋ฒ„ํ—ค๋“œ ๋น„์šฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

      API ๋‚ด์—์„œ
      io_uring ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ธฐ์กด aio ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋‹จ์ ์„ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์— ์˜ํ•ด ๊ณต์—ฐ io_uring์€ ๋งค์šฐ ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. SPDK ํด๋ง์ด ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์—์„œ ์ž‘์—…ํ•  ๋•Œ libaio๋ณด๋‹ค ํ›จ์”ฌ ์•ž์„œ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋Š” ์ตœ์ข… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ io_uring์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋ฐฉํ•˜๋‹ค, ์ปค๋„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋†’์€ ์ˆ˜์ค€์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    • FS fanotify()์˜ ์ด๋ฒคํŠธ ์ถ”์  ๋ฉ”์ปค๋‹ˆ์ฆ˜์—์„œ ์ถ”๊ฐ€ ์Šˆํผ๋ธ”๋ก ๋ฐ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์ƒํ™ฉ ์ถ”์  ์ง€์› ๋””๋ ŒํŠธ (๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒ์„ฑ, ์‚ญ์ œ, ์ด๋™ ์ด๋ฒคํŠธ) ์ œ์‹œ๋œ ๊ธฐ๋Šฅ์€ inotify ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งค์šฐ ํฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋ฐ˜๋ณต์  ๋ณ€๊ฒฝ ์ถ”์ ์„ ์ƒ์„ฑํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํ™•์žฅ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ง์ ‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ inotify๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ
      ๋Œ€๊ทœ๋ชจ ์ค‘์ฒฉ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์žฌ๊ท€ ์ถ”์  ์กฐ๊ฑด์—์„œ์˜ ์„ฑ๋Šฅ์€ ์•„์ง ๋งŽ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ fanotify๋ฅผ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํšจ๊ณผ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • Btrfs ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์ถ”๊ฐ€ zstd ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์••์ถ• ์ˆ˜์ค€์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ. ์ด๋Š” ๋น ๋ฅด์ง€๋งŒ ๋น„ํšจ์œจ์ ์ธ lz4์™€ ๋Š๋ฆฌ์ง€๋งŒ ์ข‹์€ ์••์ถ• xz ์‚ฌ์ด์˜ ์ตœ์ ์˜ ์ ˆ์ถฉ์•ˆ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— zlib๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์••์ถ• ์ˆ˜์ค€์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ–ˆ๋˜ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ zstd์— "-o ์••์ถ•=zstd:level" ๋งˆ์šดํŠธ ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ค‘ ์ตœ์†Œ 2.658๋‹จ๊ณ„์—์„œ๋Š” ์••์ถ• ์†๋„ 438.47MB/s, ์••์ถ• ํ•ด์ œ ์†๋„ 910.51MB/s, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ 780MB๋กœ 15๋ฐฐ์˜ ๋ฐ์ดํ„ฐ ์••์ถ•์„ ์ œ๊ณตํ–ˆ์œผ๋ฉฐ, ์ตœ๋Œ€ ๋ ˆ๋ฒจ 3.126์—์„œ๋Š” 37.30๋ฐฐ์˜ ๋ฐ์ดํ„ฐ ์••์ถ•์„ ์ œ๊ณตํ–ˆ์ง€๋งŒ ์••์ถ•์€ ์†๋„ 878.84MB/s, ์••์ถ• ํ’€๊ธฐ 2547MB/s ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„ XNUMXMB;
    • ์ถ”๊ฐ€๋จ initramfs๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์žฅ์น˜ ๋งคํผ ์žฅ์น˜์— ์žˆ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋ถ€ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ. ํ˜„์žฌ ์ปค๋„ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ ์žฅ์น˜ ๋งคํผ ์žฅ์น˜๋Š” ๋ถ€ํŒ… ํ”„๋กœ์„ธ์Šค ์ค‘์— ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ๋ฃจํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ํŒŒํ‹ฐ์…˜). ํŒŒํ‹ฐ์…˜์€ ๋ถ€ํŒ… ๋งค๊ฐœ๋ณ€์ˆ˜ โ€œdm-mod.createโ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋กœ๋“œ๊ฐ€ ํ—ˆ์šฉ๋˜๋Š” ์žฅ์น˜ ๋งคํผ ๋ชจ๋“ˆ์—๋Š” "crypt", "delay", "linear", "snapshot-origin" ๋ฐ "verity"๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
    • F2FS_NOCOW_FL ํ”Œ๋ž˜๊ทธ๊ฐ€ ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ ์ง€ํ–ฅ F2FS ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠน์ • ํŒŒ์ผ์— ๋Œ€ํ•ด ์“ฐ๊ธฐ ์ค‘ ๋ณต์‚ฌ ๋ชจ๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ปค๋„์—์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์ œ๊ฑฐ๋จ ์—‘์†Œํ”„ext2์˜ ๋ณ€ํ˜•์œผ๋กœ OSD(๊ฐ์ฒด ๊ธฐ๋ฐ˜ ์ €์žฅ ์žฅ์น˜) ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€ ์ž‘์—…์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด ์ €์žฅ ์žฅ์น˜์— ๋Œ€ํ•œ SCSI ํ”„๋กœํ† ์ฝœ ์ง€์›๋„ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€์ƒํ™” ๋ฐ ๋ณด์•ˆ
    • ์„ ํƒํ•œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋ช…๋ น์˜ ์ถ”์ธก ์‹คํ–‰์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด PR_SPEC_DISABLE_NOEXEC ์˜ต์…˜์„ prctl()์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด Spectre ๊ณต๊ฒฉ์˜ ๊ณต๊ฒฉ์„ ๋ฐ›์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์˜ˆ์ธก ์‹คํ–‰์„ ์„ ํƒ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž ๊ธˆ์€ exec()์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ๊นŒ์ง€ ์ง€์†๋ฉ๋‹ˆ๋‹ค.
    • LSM ๋ชจ๋“ˆ ๊ตฌํ˜„ SafeSetID์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ์„œ๋น„์Šค๋Š” ๊ถŒํ•œ ์ƒ์Šน(CAP_SETUID)์ด๋‚˜ ๋ฃจํŠธ ๊ถŒํ•œ ํš๋“ ์—†์ด ์‚ฌ์šฉ์ž๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ์€ ์œ ํšจํ•œ ๋ฐ”์ธ๋”ฉ์˜ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ("UID1:UID2" ํ˜•์‹)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ securityfs์— ๊ทœ์น™์„ ์ •์˜ํ•˜์—ฌ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.
    • ๋ณด์•ˆ ๋ชจ๋“ˆ(LSM)์˜ ์Šคํƒ ๊ธฐ๋ฐ˜ ๋กœ๋“œ์— ํ•„์š”ํ•œ ํ•˜์œ„ ์ˆ˜์ค€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋ชจ๋“ˆ์ด ์–ด๋–ค ์ˆœ์„œ๋กœ ๋กœ๋“œ๋˜๋Š”์ง€ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด "lsm" ์ปค๋„ ๋ถ€ํŒ… ์˜ต์…˜์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํŒŒ์ผ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์ด ๊ฐ์‚ฌ ํ•˜์œ„ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํผ์ง€๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์˜ ์ž ์žฌ์  ๋ˆ„์ถœ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” GCC ํ”Œ๋Ÿฌ๊ทธ์ธ structleak์˜ ๊ธฐ๋Šฅ ์Šคํƒ์— ๋Œ€ํ•œ ์ฐธ์กฐ ์•ก์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™”๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ
    • ์†Œ์ผ“์šฉ ๊ตฌํ˜„ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ƒˆ๋กœ์šด ์˜ต์…˜ "SO_BINDTOIFINDEX"
      "SO_BINDTODEVICE", ๊ทธ๋Ÿฌ๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„ ๋Œ€์‹  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    • mac80211 ์Šคํƒ์—๋Š” ํ•˜๋‚˜์˜ ์žฅ์น˜์— ์—ฌ๋Ÿฌ BSSID(MAC ์ฃผ์†Œ)๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. WiFi ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ผํ™˜์œผ๋กœ mac80211 ์Šคํƒ์—๋Š” ์ „ํŒŒ ์‹œ๊ฐ„ ๊ณ„์‚ฐ ๋ฐ ์—ฌ๋Ÿฌ ์Šคํ…Œ์ด์…˜ ๊ฐ„์— ์ „ํŒŒ ์‹œ๊ฐ„์„ ๋ถ„๋ฐฐํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์•ก์„ธ์Šค ํฌ์ธํŠธ ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•  ๋•Œ ๋ชจ๋“  ์Šคํ…Œ์ด์…˜์— ์‹œ๊ฐ„์„ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„๋ฐฐํ•˜๋Š” ๋Œ€์‹  ๋Š๋ฆฐ ๋ฌด์„  ์Šคํ…Œ์ด์…˜์— ๋” ์ ์€ ์ „์†ก ์‹œ๊ฐ„์„ ํ• ๋‹นํ•จ). ์—ญ);
    • ์ถ”๊ฐ€๋œ ๋ฉ”์ปค๋‹ˆ์ฆ˜ "๋ฐ๋ธŒ๋งํฌ ๊ฑด๊ฐ•"๋Š” ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์•Œ๋ฆผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‹œ์Šคํ…œ ์„œ๋น„์Šค
    • ๊ตฌํ˜„ PID ์žฌ์‚ฌ์šฉ์„ ํ—ˆ์šฉํ•˜๋Š” ์•ˆ์ „ํ•œ ์‹ ํ˜ธ ์ „๋‹ฌ. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด์ „์— kill์„ ํ˜ธ์ถœํ•œ ๊ฒฝ์šฐ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ ์งํ›„ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ๋กœ ์ธํ•ด ๋Œ€์ƒ PID๊ฐ€ ํ•ด์ œ๋˜์–ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ ์œ ๋˜์–ด ์‹ ํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์ „๋‹ฌ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด /proc/pid์˜ ํŒŒ์ผ ์„ค๋ช…์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ˆ์ •์ ์ธ ํ”„๋กœ์„ธ์Šค ๋ฐ”์ธ๋”ฉ์„ ๋ณด์žฅํ•˜๋Š” ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ ํ˜ธ์ถœ pidfd_send_signal์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ฒ˜๋ฆฌ ์ค‘์— PID๊ฐ€ ์žฌ์‚ฌ์šฉ๋˜๋”๋ผ๋„ ํŒŒ์ผ ์„ค๋ช…์ž๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ”„๋กœ์„ธ์Šค์— ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ถ”๊ฐ€๋จ ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ ์žฅ์น˜(์˜ˆ: ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ NVDIMM) RAM์œผ๋กœ. ์ง€๊ธˆ๊นŒ์ง€ ์ปค๋„์€ ์ €์žฅ ์žฅ์น˜์™€ ๊ฐ™์€ ์žฅ์น˜๋ฅผ ์ง€์›ํ–ˆ์ง€๋งŒ ์ด์ œ๋Š” ์ถ”๊ฐ€ RAM์œผ๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์„ฑ๋Šฅ ์ง€์—ฐ์„ ๊ธฐ๊บผ์ด ๊ฐ์ˆ˜ํ•˜๊ณ  dax์šฉ mmap ์œ„์—์„œ ์‹คํ–‰๋˜๋Š” ๊ธฐ์กด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ๊ธฐ๋ณธ Linux ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ API๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž์˜ ํฌ๋ง์— ๋”ฐ๋ผ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ;
    • ์ƒˆ๋กœ์šด CPU ์œ ํœด ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€(cpuidle์€ CPU๊ฐ€ ์ตœ๋Œ€ ์ ˆ์ „ ๋ชจ๋“œ๋กœ ์ „ํ™˜๋  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“œ๊ฐ€ ๊นŠ์–ด์งˆ์ˆ˜๋ก ์ ˆ์•ฝ ํšจ๊ณผ๋Š” ์ปค์ง€์ง€๋งŒ ๋ชจ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๋„ ๊ธธ์–ด์ง‘๋‹ˆ๋‹ค) - TEO(Timer Events Oriented Governor) ). ์ง€๊ธˆ๊นŒ์ง€ ๊ฒฝํ—˜์  ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅธ "๋ฉ”๋‰ด"์™€ "์‚ฌ๋‹ค๋ฆฌ"๋ผ๋Š” ๋‘ ๊ฐœ์˜ CPUidle ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "๋ฉ”๋‰ด" ํ•ธ๋“ค๋Ÿฌ๋Š” ์ƒˆ๋กœ์šด ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ค€๋น„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •๋œ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฝํ—˜์  ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. TEO๋Š” "๋ฉ”๋‰ด" ํ•ธ๋“ค๋Ÿฌ์˜ ๋Œ€์•ˆ์œผ๋กœ ํฌ์ง€์…”๋‹๋˜์–ด ๋™์ผํ•œ ์ˆ˜์ค€์˜ ์ „๋ ฅ ์†Œ๋น„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋” ๋†’์€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
      ๋ถ€ํŒ… ๋งค๊ฐœ๋ณ€์ˆ˜ "cpuidle.governor=teo"๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์—†์• ๊ธฐ ์œ„ํ•œ ์ž‘์—…์˜ ์ผํ™˜์œผ๋กœ 2038๋…„์˜ ๋ฌธ์ œ32๋น„ํŠธ time_t ์œ ํ˜•์˜ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์—๋Š” 32๋น„ํŠธ ์•„ํ‚คํ…์ฒ˜์— 64๋น„ํŠธ ์‹œ๊ฐ„ ์นด์šดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด์ œ 64๋น„ํŠธ time_t ๊ตฌ์กฐ๋ฅผ ๋ชจ๋“  ์•„ํ‚คํ…์ฒ˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ต์…˜์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ์—์„œ๋„ ์œ ์‚ฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ๋„คํŠธ์›Œํฌ ์†Œ์ผ“;
    • ์ฝ”์–ด์šฉ ํ•ซํŒจ์นญ ์‹œ์Šคํ…œ์œผ๋กœ(๋ผ์ด๋ธŒํŒจ์นญ) ์ถ”๊ฐ€ ์ผ๋ จ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹จ์ผ ํ•จ์ˆ˜์— ์›์ž์ ์œผ๋กœ ์ ์šฉํ•˜๋Š” "์›์ž ๋Œ€์ฒด" ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ์ƒ๋‹นํžˆ ์–ด๋ ค์šด ์—„๊ฒฉํ•˜๊ฒŒ ์ •์˜๋œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ผ์ด๋ธŒ ํŒจ์น˜๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์ ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๋Œ€์‹  ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํฌํ•จํ•˜๋Š” ์š”์•ฝ ํŒจ์น˜๋ฅผ ํ•œ ๋ฒˆ์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๊ฐ๊ฐ์˜ ํ›„์† ๋ณ€๊ฒฝ์ด ๋งˆ์ง€๋ง‰ ๋ณ€๊ฒฝ ์ดํ›„์˜ ํ•จ์ˆ˜ ์ƒํƒœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์•ผ ํ–ˆ์ง€๋งŒ ์ด์ œ๋Š” ํ•˜๋‚˜์˜ ์ดˆ๊ธฐ ์ƒํƒœ์— ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ•œ ๋ฒˆ์— ์ „ํŒŒํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, ๊ด€๋ฆฌ์ž๋Š” ๋Œ€์‹  ๊ธฐ๋ณธ ์ปค๋„์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ ํ†ตํ•ฉ ํŒจ์น˜๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ์„œ๋กœ ์˜์กดํ•˜๋Š” ํŒจ์น˜ ์ฒด์ธ)
    • ๋ฐœํ‘œ๋จ a.out ์‹คํ–‰ ํŒŒ์ผ ํ˜•์‹์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      ์ œ๊ฑฐ๋จ ๋ฒ„๋ ค์ง„ ์ƒํƒœ์— ์žˆ๋Š” a.out ํ˜•์‹์˜ ์ฝ”์–ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. a.out ํ˜•์‹์€ ์˜ค๋žซ๋™์•ˆ Linux ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ a.out ํŒŒ์ผ ์ƒ์„ฑ์€ ๊ธฐ๋ณธ Linux ๊ตฌ์„ฑ์˜ ์ตœ์‹  ๋„๊ตฌ์—์„œ ์˜ค๋žซ๋™์•ˆ ์ง€์›๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ a.out ํŒŒ์ผ์šฉ ๋กœ๋”๋Š” ์ „์ ์œผ๋กœ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ์ด BPF ํ”„๋กœ๊ทธ๋žจ ๊ฒ€์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„์—๋Š” BPF ํ•˜์œ„ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์Šคํ•€๋ก ์ง€์› ํŒจ์น˜๋„ ํฌํ•จ๋˜์–ด ์žˆ์–ด BPF ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ‘๋ ฌ ์‹คํ–‰์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ะžะฑะพั€ัƒะดะพะฒะฐะฝะธะต
    • ์ธ ๋ˆ„๋ณด ๋“œ๋ผ์ด๋ฒ„ ์ถ”๊ฐ€ ์ด๊ธฐ์ข… ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•˜์—ฌ CPU์™€ GPU๊ฐ€ ๊ณตํ†ต์œผ๋กœ ๋™๊ธฐํ™”๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ(SVM, ๊ณต์œ  ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ)์€ HMM(์ด๊ธฐ์ข… ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ) ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์ž์ฒด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜(MMU, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜)๊ฐ€ ์žˆ๋Š” ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ. ํŠนํžˆ, HMM์„ ์‚ฌ์šฉํ•˜๋ฉด GPU์™€ CPU ์‚ฌ์ด์˜ ๊ณต์œ  ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ GPU๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SVM ์ง€์›์€ ํ˜„์žฌ Pascal ์ œํ’ˆ๊ตฐ GPU์—๋งŒ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€๋งŒ Volta ๋ฐ Turing GPU์—๋„ ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋ˆ„๋ณด์—์„œ๋Š” ์ถ”๊ฐ€ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ GPU ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ฒƒ์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์ƒˆ๋กœ์šด ioctl;
    • GPU Skylake ์ด์ƒ(gen9+)์šฉ Intel DRM ๋“œ๋ผ์ด๋ฒ„ ํฌํ•จ๋จ ๊ธฐ๋ณธ์ ์œผ๋กœ fastboot ๋ชจ๋“œ๋Š” ๋ถ€ํŒ… ์ค‘ ๋ถˆํ•„์š”ํ•œ ๋ชจ๋“œ ๋ณ€๊ฒฝ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋จ ะฝะพะฒั‹ะต Coffelake ๋ฐ Ice Lake ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์žฅ์น˜ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. ์ปคํ”ผ๋ ˆ์ดํฌ ์นฉ์˜ ๊ฒฝ์šฐ ์ถ”๊ฐ€ GVT ์ง€์›(GPU ๊ฐ€์ƒํ™”). ๊ฐ€์ƒ GPU์˜ ๊ฒฝ์šฐ ๊ตฌํ˜„ VFIO EDID ์ง€์›. LCD ํŒจ๋„ MIPI/DSI์šฉ ์ถ”๊ฐ€ ACPI/PMIC ์š”์†Œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„๋จ ์ƒˆ๋กœ์šด TV ๋ชจ๋“œ 1080p30/50/60 TV;
    • amdgpu ๋“œ๋ผ์ด๋ฒ„์— Vega10/20 BACO GPU์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Vega 10/20 ์ „์› ๊ด€๋ฆฌ ๋ฐ Vega 10 ์ฟจ๋Ÿฌ ์ œ์–ด ํ…Œ์ด๋ธ”์„ ๊ตฌํ˜„ํ–ˆ์œผ๋ฉฐ Picasso GPU์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด PCI ์žฅ์น˜ ์‹๋ณ„์ž๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋จ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์˜ˆ์•ฝ ๊ฐ€๋Šฅํ•œ ์ข…์†์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค
    • ์ถ”๊ฐ€๋จ ํ™”๋ฉด ๊ฐ€์†๊ธฐ์šฉ DRM/KMS ๋“œ๋ผ์ด๋ฒ„ ARM ์ฝ”๋ฉ”๋‹ค (๋ง๋ฆฌ D71);
    • Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 ๋ฐ Kingdisplay kd097d04 ์Šคํฌ๋ฆฐ ํŒจ๋„์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Rockchip RK3328, Cirrus Logic CS4341 ๋ฐ CS35L36, MediaTek MT6358, Qualcomm WCD9335 ๋ฐ Ingenic JZ4725B ์˜ค๋””์˜ค ์ฝ”๋ฑ์€ ๋ฌผ๋ก  Mediatek MT8183 ์˜ค๋””์˜ค ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • NAND ์ปจํŠธ๋กค๋Ÿฌ Flash STMicroelectronics FMC2, Amlogic Meson์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Habana AI ํ•˜๋“œ์›จ์–ด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ฐ€์†๊ธฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • NXP ENETC ๊ธฐ๊ฐ€๋น„ํŠธ ์ด๋”๋„ท ์ปจํŠธ๋กค๋Ÿฌ์™€ MediaTek MT7603E(PCIe) ๋ฐ MT76x8 ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์— ๋ผํ‹ด ์•„๋ฉ”๋ฆฌ์นด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ(Latin American Free Software Foundation) ํ˜•์„ฑ๋œ
ะฒะฐั€ะธะฐะฝั‚ ์™„์ „ ๋ฌด๋ฃŒ ์ปค๋„ 5.1 - Linux-libre 5.1-gnu, ์ œ์กฐ์—…์ฒด๊ฐ€ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๋Š” ๋น„์ž์œ  ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ์ฝ”๋“œ ์„น์…˜์„ ํฌํ•จํ•˜๋Š” ํŽŒ์›จ์–ด ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” mt7603 ๋ฐ goya ๋“œ๋ผ์ด๋ฒ„์—์„œ Blob ๋กœ๋”ฉ์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ํ•˜์œ„ ์‹œ์Šคํ…œ wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk ๋ฐ touchscreen_dmi์˜ Blob ์ •๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. lantiq xrx200 ํŽŒ์›จ์–ด ๋กœ๋”์˜ Blob ์ •๋ฆฌ๊ฐ€ ์ปค๋„์—์„œ ์ œ๊ฑฐ๋˜์–ด ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€