Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| kr:docs:guide-developer:the-source-code [2017/04/26 03:03] – [/target/linux/<arch_name>/modules.mk] fehead | kr:docs:guide-developer:the-source-code [2017/04/26 05:30] – [새 장치 추가] fehead | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | 가장 좋은 방법은 새 장치 추가에 대한 최근의 커밋을 보고 변경된 파일과 변경된 사항을 확인하는 | + | LEDE 프로젝트 소스 코드는 OpenWrt revision r49258로 시작합니다. 이 코드는 OpenWrt가 만든 모든 브랜치와 릴리스를 포함하는 |
| - | 가장 중요한 파일이있는 곳의 일반적인 형태입니다: | + | 모든 리포지토리는 다음을 통해 온라인으로 탐색 할 수 있습니다: |
| - | ==== /target/linux/< | + | - [[https://git.lede-project.org/|Gitweb]] |
| + | - [[https://github.com/ | ||
| - | 이 폴더에는 펌웨어의 /etc 폴더에 통합 될 파일 및 폴더가 들어 있습니다. | ||
| - | 하위 폴더 및 파일은 다음과 같습니다: | + | ===== LEDE 소스 코드 저장소 ===== |
| - | * **…board.d/** led 및 네트워크 인터페이스와 같은 장치 별 기본 하드웨어를 정의하는 | + | 모든 //LEDE// 개발은 HTTP 및 HTTPS를 통해 액세스 할 수있는 기본 |
| - | * **…hotplug.d/ | + | |
| - | * **…init.d/ | + | |
| - | * **…uci-defaults/ | + | |
| - | * **…diag.sh** 각 보드의 오류 코드에 무엇이 사용되는지 정의 | + | |
| - | ==== / | + | <code> |
| + | git clone https://git.lede-project.org/source.git | ||
| + | </code> | ||
| - | 이 폴더에는 펌웨어의 /lib 폴더에 통합 될 파일과 폴더가 들어 | + | Github에서 저장소의 미러를 찾을 수 있습니다: |
| - | 하위 폴더 및 파일은 다음과 같습니다: | + | < |
| + | git clone https:// | ||
| + | </ | ||
| - | * **…< | + | ==== 일반적인 소스 구조 ==== |
| - | * **…preinit/ | + | |
| - | * **…upgrade/ | + | |
| - | ==== / | + | 다음은 프로젝트의 git에서 찾을 수있는 폴더입니다: |
| - | 이 폴더는 펌웨어의 /sbin 폴더에 통합되는 | + | * **/config** : menuconfig의 configuration 파일들 |
| + | * **/include** : makefile configuration | ||
| + | * **/ | ||
| + | * **/ | ||
| + | * **/target** : buildbuild로 빌드 된 imagebuilder, | ||
| + | * **/ | ||
| + | * **/tools** : 빌드 프로세스 전반에 걸쳐 사용되는 기타 | ||
| - | ==== / | + | ===== 릴리즈 ===== |
| - | 디바이스 | + | 릴리즈 생성은 많이 자동화되었습니다. 첫 번째 LEDE 릴리즈 전에 프로세스의 나머지 부분도 자동화 해야합니다. 우리는 커널의 MAINTAINERS 파일과 비슷한 형식의 TESTERS 파일을 |
| - | ==== / | + | 릴리스 조건은 아래와 같습니다: |
| - | 장치 별 플래시 가능 | + | - 적어도 일년에 한 번이상 |
| - | ==== /target/linux/< | + | - 유지 관리 업데이트가 하나 이상 |
| + | - 출시 후 1 년 이상 CVE / critical | ||
| + | - 유지 관리 대상 만 포함 | ||
| + | - 테스트된 기기만 | ||
| + | - 준비가 되어 있는 것만(Be ready when they are ready) | ||
| - | 보드별 설정. | + | 자세한 내용은 TODO 페이지를 참조하십시오. |
| - | ==== / | + | ===== 스테이징 트리 ===== |
| - | menuconfig를 위한 Arch 전용 커널 모듈 config 파일 | + | git.lede-project.org에서 스테이징 트리를 만들려면 다음을 수행하십시오: |
| - | ===== Patches ===== | + | |
| - | The patches-* subdirectories contain the kernel patches applied for every target.\\ | + | |
| - | All patches should be named 'NNN-lowercase_shortname.patch' and sorted into the following categories: | + | |
| - | **0xx** - upstream backports\\ | + | <code> |
| - | **1xx** - code awaiting upstream merge\\ | + | ssh < |
| - | **2xx** | + | ssh < |
| - | **3xx** | + | </code> |
| - | **4xx** - mtd related patches (subsystem and drivers)\\ | + | |
| - | **5xx** - filesystem related patches\\ | + | |
| - | **6xx** - generic network patches\\ | + | |
| - | **7xx** - network | + | |
| - | **8xx** - other drivers\\ | + | |
| - | **9xx** - uncategorized other patches\\ | + | |
| - | <WRAP center round tip 80%> | + | 스테이징 트리를 https:// |
| - | All patches must be written in a way that they are potentially upstreamable, | + | |
| - | - they must contain a proper subject\\ | + | < |
| - | - they must contain a proper commit message explaining what they change\\ | + | ssh < |
| - | - they must contain a valid Signed-off-by line\\ | + | </code> |
| - | </WRAP> | + | |
| - | ===== Testing images ===== | + | 모든 사용자가 스테이징 트리를 읽을 수 있게 하려면 다음을 수행하십시오: |
| - | Test firmware images without writing them to flash by using ramdisk images.\\ | + | |
| - | In **make menuconfig** select **Target Images** and then you can select the **ramdisk** option.\\ | + | < |
| + | ssh <git@git.lede-project.org> | ||
| + | </ | ||
| - | This will create an image with kernel + initramfs, that will have **initramfs** in the name. The resulting image can be loaded in the device through the bootloader' | + | ==== 커널 업데이트 ==== |
| - | ===== Tips and tricks ===== | + | 릴리즈 2 일 이내에 최신 커널이어야 한다는 것은 비실용적이며 시간을 낭비하는 것으로 입증되었습니다. 아래와 같은 문제가 발생했습니다. |
| - | ==== Getting a shell on the target device ==== | + | |
| - | In order to collect relevant data for a port of LEDE to the device of interest one wants shell access. Most devices though do not offer a way to get a shell with telnet or ssh. | + | |
| - | With [[https:// | + | |
| - | When such means cannot be used, one could try to flash an image build from the sources published by the vendor with telnetd enabled. | + | - 유지 보수업자에 대한 압박이 안정화되기보다는 끊임없이 업그레이드 |
| + | - 릴리스 간 3-4 회 업그레이드에 막대한 수고 | ||
| + | - kmod-* 포장을 유지하는 막대한 작업량 | ||
| + | - 완전히 테스트되지 않았을 수도있는 커널 업그레이드 | ||
| - | With [[https:// | + | 이것은 분명히 고대와 먼지가 많은 커널에 앉아있는 초대는 아닙니다. 불필요한 작업 부하 및 안정성 문제를 야기하지 않고 커뮤니티에 최근 커널을 제공하는 정상적인 경로를 가져야합니다. |
| - | ==== Collecting relevant data ==== | + | 최대 3 개의 동시 커널 버전이 있어야합니다. 두 개의 동시 버전이 3개 보다 낳습니다. |
| - | On [[https:// | + | |
| - | Typically one can use the following commands: | + | In Short - stability should |
| - | dmesg # log buffer might be to small, see note 1. | + | 단기에서는 안정성이 출혈 가장자리보다 높게 평가되어야하지만, 출혈 가장자리 또한 중요하지만 안정성과의 균형 관계는 아닙니다. |
| - | cat / | + | |
| - | cat / | + | ===== 새 장치 추가 ===== |
| - | cat / | + | |
| - | cat / | + | **[[kr: |
| - | ls / | + | |
| - | cat /proc/mtd | + | ===== OpenWrt 소스 코드 ===== |
| - | cat / | + | |
| - | | + | 우리는 원본 OpenWrt 소스 코드를 r49258 까지 사용할 수 있으며 대부분이 참조 용이며 역사적인 관심사입니다. |
| - | | + | |
| - | brctl show | + | 원래 OpenWrt Subversion 저장소는 여러 SVN 디렉토리와 태그를 적절한 Git 브랜치에 매핑하는 여러 Git 저장소로 나뉘어져 있습니다. |
| - | | + | |
| - | Note 1: Often the log buffer is to small and the earliest messages may be missing from the information retrieved with '' | + | < |
| - | If one build a stock image from the sources the vendor has published, a larger buffer size can be set within the kernel config. | + | git clone https://git.lede-project.org/openwrt/ |
| - | Note 2: http://lxr.free-electrons.com/source/Documentation/ABI/testing/ | + | git clone https://git.lede-project.org/ |
| + | git clone https://git.lede-project.org/openwrt/feeds.git | ||
| + | git clone https://git.lede-project.org/ | ||
| + | </ | ||
| - | Another useful tool for getting information for setting LEDs might be [https:// | ||
| - | ==== Getting collected data from a device ==== | ||
| - | Sometimes no normal means such as scp or ftp are available for retrieving files from a device. Still one could use httpd and busybox its mount command to do so. How? | ||
| - | Assume the files with relevant data on the device with IP address '' | ||
| - | On the device do: | ||
| - | cp important-data.txt /tmp | ||
| - | mount -o bind /tmp /www | ||
| - | After that the data on the host connected to the device do: | ||
| - | wget http:// | ||
| - | | ||