User Tools

Site Tools


ko:docs:guide-developer:the-source-code

LEDE 소스 코드

LEDE 프로젝트 소스 코드는 OpenWrt revision r49258로 시작합니다. 이 코드는 OpenWrt가 만든 모든 브랜치와 릴리스를 포함하는 git 트리 안에 저장됩니다. 소스를 가져 오는 동안 트리가 정규화되고 커미터 이름과 메일 주소에 약간 변경이 되어 있을수도 있습니다.

모든 리포지토리는 다음을 통해 온라인으로 탐색 할 수 있습니다:

  1. Gitweb - LEDE를위한 마스터 Git 저장소
  2. Github - 지속적으로 업데이트되는 Gitweb의 미러

LEDE 소스 코드 저장소

모든 LEDE 개발은 HTTP 및 HTTPS를 통해 액세스 할 수있는 기본 source.git 저장소에서 발생합니다:

git clone https://git.lede-project.org/source.git

Github에서 저장소의 미러를 찾을 수 있습니다:

git clone https://github.com/lede-project/source.git

일반적인 소스 구조

다음은 프로젝트의 git에서 찾을 수있는 폴더입니다:

  • /config : menuconfig의 configuration 파일들
  • /include : makefile configuration 파일들
  • /package : 패키지 makefile과 configuration
  • /scripts : 빌드 프로세스 전반에 사용되는 기타 스크립트
  • /target : buildbuild로 빌드 된 imagebuilder, kernel, sdk 및 toolchain을 빌드하기위한 makefile과 configuration (makefile and configuration for building imagebuilder, kernel, sdk and the toolchain built by buildroot.)
  • /toolchain : 툴체인 빌드를위한 makefile과 configuration
  • /tools : 빌드 프로세스 전반에 걸쳐 사용되는 기타 도구

릴리즈

릴리즈 생성은 많이 자동화되었습니다. 첫 번째 LEDE 릴리즈 전에 프로세스의 나머지 부분도 자동화 해야합니다. 우리는 커널의 MAINTAINERS 파일과 비슷한 형식의 TESTERS 파일을 소개 할 것입니다. 커뮤니티 회원은 자신을 target/profile/device의 테스터로 표시 할 수 있습니다. 릴리스가 생성되면 테스터는 테스트 할 이미지에 대한 요구 사항을 알리는 전자 메일을 받게됩니다. 테스트 된 이미지 만 이진 릴리스에 포함되어야하는지 결정해야합니다.

릴리스 조건은 아래와 같습니다:

  1. 적어도 일년에 한 번이상
  2. 유지 관리 업데이트가 하나 이상
  3. 출시 후 1 년 이상 CVE / critical / … 수정본 제공
  4. 유지 관리 대상 만 포함
  5. 테스트된 기기만 타겟에 포함
  6. 준비가 되어 있는 것만(Be ready when they are ready)

자세한 내용은 TODO 페이지를 참조하십시오.

스테이징 트리

git.lede-project.org에서 스테이징 트리를 만들려면 다음을 수행하십시오:

ssh <git@git.lede-project.org> "create lede/yournick/staging" 
ssh <git@git.lede-project.org> "desc lede/yournick/staging Staging tree of Your Name"

스테이징 트리를 https://git.lede-project.org 에서 볼 수있게하려면 다음을 수행하십시오:

ssh <git@git.lede-project.org> "perms lede/yournick/staging + READERS gitweb"

모든 사용자가 스테이징 트리를 읽을 수 있게 하려면 다음을 수행하십시오:

ssh <git@git.lede-project.org> "perms lede/yournick/staging + READERS @all "

커널 업데이트

릴리즈 2 일 이내에 최신 커널이어야 한다는 것은 비실용적이며 시간을 낭비하는 것으로 입증되었습니다. 아래와 같은 문제가 발생했습니다.

  1. 커널 버전의 다양화
  2. 유지 보수업자에 대한 압박이 안정화되기보다는 끊임없이 업그레이드
  3. 릴리스 간 3-4 회 업그레이드에 막대한 수고
  4. kmod-* 포장을 유지하는 막대한 작업량
  5. 완전히 테스트되지 않았을 수도있는 커널 업그레이드

이것은 분명히 고대와 먼지가 많은 커널에 앉아있는 초대는 아닙니다. 불필요한 작업 부하 및 안정성 문제를 야기하지 않고 커뮤니티에 최근 커널을 제공하는 정상적인 경로를 가져야합니다.

최대 3 개의 동시 커널 버전이 있어야합니다. 두 개의 동시 버전이 3개 보다 낳습니다.

In Short - stability should be valued higher than bleeding edge, although bleeding edge is also important, but not as a trade-off to stability. 단기에서는 안정성이 출혈 가장자리보다 높게 평가되어야하지만, 출혈 가장자리 또한 중요하지만 안정성과의 균형 관계는 아닙니다.

새 장치 추가

새 장치 추가 새 장치 추가에 대한 일반 정보

OpenWrt 소스 코드

우리는 원본 OpenWrt 소스 코드를 r49258 까지 사용할 수 있으며 대부분이 참조 용이며 역사적인 관심사입니다.

원래 OpenWrt Subversion 저장소는 여러 SVN 디렉토리와 태그를 적절한 Git 브랜치에 매핑하는 여러 Git 저장소로 나뉘어져 있습니다.

git clone https://git.lede-project.org/openwrt/source.git 
git clone https://git.lede-project.org/openwrt/packages.git 
git clone https://git.lede-project.org/openwrt/feeds.git 
git clone https://git.lede-project.org/openwrt/docs.git
ko/docs/guide-developer/the-source-code.txt · Last modified: 2017/05/02 18:02 by tmomas