Developer Guide - Leo-Mun/UROP_SDN GitHub Wiki

OpenWrt์˜ ์‚ฌ์šฉ์ž ์ •์˜ ๋นŒ๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ์— ๊ธฐ์—ฌํ•˜๋ ค๋ฉด ์—ฌ๊ธฐ์—์„œ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค. ๊ฐœ๋ฐœ์— ๋„์›€์ด ๋˜๋Š” ๋งŽ์€ ํˆด์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Developer Guide

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ์‚ฌ์šฉ์ž ์ •์˜ ๋นŒ๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด OpenWrt ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.

OpenWrt build system - About
Openwrt ๋นŒ๋“œ์— ๋Œ€ํ•ด์„œ

OpenWrt build system - Installation
OpenWrt ๋นŒ๋“œ ์‹œ์Šคํ…œ ์„ค์ •

OpenWrt build system - Usage
๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ OpenWrt ์ปดํŒŒ์ผ

Build VM
 ๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ƒ ์‹œ์Šคํ…œ ๋‚ด์—์„œ OpenWrt ์ปดํŒŒ์ผ 

Feeds
 ํŒจํ‚ค์ง€ ํ”ผ๋“œ ์ž‘์—… 

Image Generator
 ์ด๋ฏธ์ง€ ์ƒ์„ฑ๊ธฐ (์ผ๋ช… ์ด๋ฏธ์ง€ ๋นŒ๋”)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ์ปดํŒŒ์ผํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ ๋„ ์‚ฌ์šฉ์ž ์ •์˜ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

SDK
 SDK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€ ์†Œ์Šค ์ปดํŒŒ์ผ 


Deveploping

ํŠน์ • ๊ฐœ๋ฐœ ๊ด€๋ จ ์ž‘์—…์˜ ๋ฌธ์„œ


Hacking

First Steps
์ง€์›๋˜์ง€ ์•Š๋Š” ๊ธฐ๊ธฐ์˜ First Step

Add a platform
์ƒˆ๋กœ์šด ํ”Œ๋žซํผ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜์ ์ธ ๊ณ ๋ ค ์‚ฌํ•ญ

Add a device
์ƒˆ ์žฅ์น˜์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

Kernel stuff

drivers
๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ จ ํ•ญ๋ชฉ

OpenWrt

Debugging
๋””๋ฒ„๊น…

Build environment
๋‹จ์ผ Buildroot์—์„œ ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ๋ฐ ํŒŒ์ผ ๊ด€๋ฆฌ

Software Libraries
 ๋‹น์‹ ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค

Crosscompile
์†Œ์Šค๋ฅผ ํŒจํ‚ค์ง•ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ํฌ๋กœ์Šค ์ปดํŒŒ์ผ

Packages
 ํŒจํ‚ค์ง• ์†Œํ”„ํŠธ์›จ์–ด 

Feeds
 ํŒจํ‚ค์ง€ ํ”ผ๋“œ ์ž‘์—… 

Dependencies
 ํŒจํ‚ค์ง€์— ์˜์กด์„ฑ(dependencies) ์‚ฌ์šฉํ•˜๊ธฐ 

Patches
 ํŒจ์น˜ ์ถ”๊ฐ€, ์ˆ˜์ • ๋ฐ ์ƒˆ๋กœ ๊ณ ์นจ 

Bugs
 ๋ฒ„๊ทธ๋ณด๊ณ  ๋ฐ ์ถ”์  

UCI-Lua
 UCI๋ฅผ์œ„ํ•œ ๋ฃจ์•„ ๋ฐ”์ธ๋”ฉ 

LuCI
 LuCI ์• ๋“œ์˜จ ๊ฐœ๋ฐœ 

Config scripting
 ์‰˜ ์Šคํฌ๋ฆฝํŠธ์—์„œ UCI ๊ตฌ์„ฑ ํŒŒ์ผ ์‚ฌ์šฉ 

Network scripting
 ๋„คํŠธ์›Œํฌ ์Šคํฌ๋ฆฝํŒ… ๋ฐ ํ”„๋กœํ† ์ฝœ ์ฒ˜๋ฆฌ๊ธฐ API 

GNU Debugger
 GNU ๋””๋ฒ„๊ฑฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• 

Eclipse IDE
 GNU ๋””๋ฒ„๊ฑฐ๋ฅผ ํฌํ•จํ•œ Eclipse IDE ์‚ฌ์šฉ ๋ฐฉ๋ฒ• 


Patching

ํŠน์ • ํŒจ์น˜ ๊ด€๋ จ ์ž‘์—…์— ๋Œ€ํ•œ ์„ค๋ช…์„œ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํŒจ์น˜๋ฅผ ์ž‘์„ฑํ•˜์—ฌ OpenWrt-dev ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ์ œ๋Œ€๋กœ ์ œ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

Using GIT
 Primer 


Technical references

๋‹ค์–‘ํ•œ OpenWrt ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋ฐฐ๊ฒฝ ์ •๋ณด ๋ฐ ๊ธฐ์ˆ  ์„ค๋ช…์„ ๋‹ค๋ฃจ๋Š” ๊ธฐ์‚ฌ

https://wiki.openwrt.org/doc/guide-developer

โš ๏ธ **GitHub.com Fallback** โš ๏ธ