임베디드 가능한 Linux 커널 서브셋
Embeddable Linux Kernel SubsetOS 패밀리 | Unix와 같은 |
---|---|
초기 릴리즈 | 0.0.76(1999년 5월 | , 전( 5월 20일
최신 릴리즈 | 2022년 6월 7일 0.6.0, | 전(
저장소 | |
이용가능기간: | 영어 |
커널 타입 | 모노리식 |
면허증. | GPL v2[1] |
공식 웹사이트 | github |
ELKS(Embeddable Linux Kernel Subset)는 Linux와 유사한 운영 체제 커널입니다.Linux 커널의 서브셋으로 인텔 8086 탑재 머신이나 32비트 [2][3]Linux에서 지원되지 않는 호환 마이크로프로세서 등 프로세서 및 메모리 리소스가 제한된 16비트 컴퓨터를 대상으로 합니다.
기능과 호환성
ELKS는 자유 소프트웨어로 GNU General Public License(GPL; 일반 공중 사용 허가서)에 따라 제공됩니다.초기 16비트 및 IBM PC 호환 시스템과 같은 많은 32비트 x86(8088, 8086) 컴퓨터 및 이후 x86 모델과 리얼 모드로 작동할 수 있습니다.또 다른 유용한 분야는 싱글보드 마이크로컴퓨터입니다.이 마이크로컴퓨터는 홈브루 프로젝트(하드웨어 해킹)의 교육도구로, 임베디드 컨트롤러 시스템(자동화 [4]등)입니다.
ELKS의 초기 버전도 NEC V30 [4][5]CPU를 탑재한 Psion 3a 및 3aR SIBO(SIXTEEN Bit Organizer) PDA에서 실행되어 이러한 플랫폼에 포팅되면 다른 가능한 운영 필드(gadget 하드웨어)를 제공합니다.이 노력은 ELKSibo라고 [6]불렸다.관심 부족으로 인해 SIBO 지원은 버전 0.4.0에서 제거되었습니다.
네이티브 ELKS 프로그램은 Elksemu에서 에뮬레이트되어 Linux-i386에서 [7]8086 코드를 사용할 수 있습니다.ELKS에 에펠 준거 라이브러리를 제공하려는 노력도 존재합니다.[8]
역사
Linux-8086의 개발은 1995년 Linux 커널 개발자인 Alan Cox와 Chad Page에 의해 표준 Linux의 분기점으로 시작되었습니다.1996년 초까지 프로젝트는 ELKS(Embeddable Linux Kernel Subset)로 이름이 변경되었으며, 1997년 첫 번째 웹사이트 www.elks.ecs.soton.ac.uk/(Wayback Machine에서 2001년 9월 24일 아카이브됨)가 생성되었습니다.ELKS 버전 0.0.63은 같은 해 8월 8일에 이어 출시되었습니다.1999년 6월 22일, ELKS 릴리스 0.0.77을 이용할 수 있게 되었습니다.이것은 그래픽 유저 인터페이스(Nano-X Window System)를 실행할 수 있는 최초의 버전입니다.7월 21일, ELKS는 SIBO 아키텍처를 갖춘 Psion PDA에서 부팅되었습니다.ELKS 0.0.82는 2000년 1월 10일에 출시되었습니다.SIBO 포트를 포함함으로써 원래 8086 베이스가 아닌 다른 컴퓨터 하드웨어에서 실행되는 최초의 공식 버전이 되었습니다.그 해 3월 3일, 이 프로젝트는 새로운 웹사이트인 Source Forge에 등록되었습니다.sourceforge.net 를 참조해 주세요.
2001년 1월 6일 콕스는 ELKS가 "기본적으로 죽었다"[9]고 선언했다.그럼에도 불구하고 릴리스 0.0.84는 2001년 6월 17일에 출시되었고 Charilaos(Harry) Kalogirou는 7일 후에 TCP/IP 네트워킹 지원을 추가했으며 같은 해 11월 17일에 ELKS는 0.0.90에 도달했습니다.2002년 4월 20일 Kalogirou는 디스크 스왑 기능을 갖춘 메모리 관리를 추가하였고, 9일 후 최초의 베타 버전으로 [10]간주되는 ELKS 릴리스 0.1.0이 출시되었습니다.연말에는 12월 18일 EDE(ELKS 커널에 기반한 배포판인 Elks Distribution Edition) 자체 버전 0.0.5가 [11]출시됩니다.2003년 1월 6일 ELKS 0.1.2가 출시되었으며, 이후 2006년 5월 3일 0.1.3으로 업데이트되었으며,[10] 이는 오랜 개발 중단 후 첫 공식 출시입니다.
우주선용 실시간 운영체제인 FlightLinux로의 개발이 계획되었지만, (UoSAT-12)를 위한 프로젝트는 [12]결국 Quadron Corporation의 qCF 운영체제로 결정되었다.
현황 및 사용 현황
2012년 1월부터 ELKS는 다시 개발 중입니다.CVS 저장소는 2012년 2월에 Git으로 이행되어 Linux-8086 메일링 리스트의 많은 패치가 새로운 저장소로 커밋되었습니다.버전 0.1.4는 2012년 2월 19일에 출시되었으며, 전 공동 개발자인 Riley Williams를 기념하여 Jody Bruchon에 의해 출시되었습니다.업데이트 된 플로피 디스크 이미지, 이전 버전의 컴파일 버그 수정 및 사용되지 [13]않는 코드 제거가 포함되어 있습니다.2012년 5월 10일 독립형 바이너리를 대체하고 공유 코드를 활용하기 위해 Jody Bruchon에 의해 저장소에 BusyELKS가 추가되었습니다(ELKS는 공유 라이브러리를 지원하지 않음).BusyBox와 같은 바이너리는 심볼릭 링크로 공간을 절약하고 중복된 코드 청크를 제거하며 별도의 프로그램을 하나의 큰 [14]바이너리로 결합합니다.2013년 11월 14일 프로젝트 개발이 GitHub으로 [15]이전되었습니다.기본적인 이더넷 및 FAT 지원은 [16]2017년에 추가되었습니다.
1995년 포크 이후 35개 이상의 개발자가 이 프로젝트에 기여했습니다.2015년 3월 현재, ELKS 프로젝트의 개발이 다시 활발하여 2015년 3월 8일 1,000개의 소스 코드 커밋을 달성했습니다.2018년 6월 현재 583개의 추가 커밋을 통해 많은 버그 수정 및 개선이 수행되었으며 0.2.1 릴리스로 이어졌습니다.2019년 3월, 이 프로젝트는 구식 BCC 컴파일러에서 최신 GCC-IA16으로의 이행을 완료했으며, 그레고리 하어가 수석 개발자로 취임하면서 개발 활동이 증가했다.2019년과 2020년에 ELKS는 이더넷, TCP/IP, FAT16/32, 멀티유저 시리얼 및 기타 많은 [17]기능을 갖춘 소형 머신을 위해 '부팅 가능하고 불안정한' 상태에서 안정적인 Linux와 같은 시스템으로 전환되었습니다.ELKS 0.4.0이 2020년 11월에 출시됨에 따라 커밋 수는 3,000개를 넘어섰다.
0.4.0에 의해 만들어진 기반 위에 구축된 개발 활동은 2021년에도 계속되었으며, Gregory Haerr은 여전히 5명의 적극적인 기여자의 지원을 받아 리드 개발자로 활동하고 있습니다.팀은 2021년 10월부터 2022년 [18]2월 8일 0.5.0 릴리스까지 220개의 커밋을 전달했습니다.4개월 뒤인 2022년 6월 7일 0.6.0이 공개되면서 새로운 레벨 또는 릴리스 빈도를 설정해 [19]활동성이 매우 높은 것으로 나타났습니다.
버전 0.4.0
버전 0.4.0은 ELKS의 주요 이정표를 나타내며, 시스템을 실험적인 것에서 개발자가 아닌 사람들에게 유용한 것으로 개선했으며, 다음과 같은 주요 개선사항을 포함했다.
- 문서[20] Wiki
- 주요 커널 확장 기능– 크기, 안정성, 견고성, 속도, 시스템 호출 및 디버깅 기능
- TCP, ICMP, ARP를 지원하는 신뢰성 높은 TCP/IP 스택이 사용자 모드프로세스로 구현됩니다.
- telnet/telnetd 및 파일 전송에 대한 사용자 수준의 네트워킹 지원.
- 시리얼 IP 및 이더넷(NE1K/NE2K/WD8003) 지원
- 애쉬 및 새시 셸을 포함한 많은 새로운 사용자 레벨 명령 및 업데이트된 사용자 레벨 명령.
- 많은 크로스 개발 툴 체인 기능이 확장되어 더 많은 메모리 모델을 지원하여 더 많은 애플리케이션을 쉽게 이식할 수 있습니다.
- FAT 파일 시스템의 /root에서 부팅하는 등 강력한 FAT16/32 및 Minix1 파일 시스템 지원
- 콘솔 및 시리얼 지원 향상: 시리얼 콘솔, 고속 멀티 시리얼 I/O.
- MBR 지원, /bootopts를 통한 부팅 옵션.
- Linux 및 MacOS에서 구성 및 빌드하기 위한 메뉴 시스템을 업데이트하여 비개발자가 360KB에서 2.88MB 범위의 플로피용 커스텀 이미지를 작성할 수 있습니다.
버전 0.5.0
버전 0.5.0은 ELKS에 있어서 또 하나의 중요한 이정표가 되었습니다.2개의 새로운 플랫폼(일본 PC-98 및 8018X)에 대한 많은 개선, 추가 및 지원이 있었습니다.확장 기능:[21]
- 커널 및 네트워크 디버깅 도구, 툴 체인 개선, 새로운 플랫폼으로 쉽게 이식할 수 있는 청소
- 네트워크 스택의 안정성과 퍼포먼스 향상
- 네이티브 ftp/ftpd 프로그램, 네트워크 어플리케이션레벨의 프로토콜 지원을 telnet, ftp, http 및 raw tcp(netcat)로 확장
- /bootopts 구성 파일을 통한 런타임 구성 향상,
- XMS - 386 및 286 시스템 지원으로 대용량 메모리 버퍼 지원
- 새로운 SSD 드라이버
- 압축된[22] 실행 파일 지원
- 매우 낮은 메모리 환경(256k) 지원
- 라이브러리 및 시스템 콜 확장
- 다양한 섹터 크기에 대한 커널 지원(PC-98 플랫폼용)
- 네트워킹 및 대용량 스토리지용 새로운 스타트업 컨피규레이션파일
- QEMU에서의 네트워크 지원 향상
버전 0.5.0의 ELKS는 완전한 스몰 Linux 시스템이며 한정된 리소스로 빈티지 PC를 테스트, 진단 및 실행할 수 있는 범용 도구입니다.새로운 플랫폼의 추가에 의해서, 휴대성의 향상이 증명되고 있기 때문에, 개발 활동의 확대가 다음 버전으로 진행됩니다.
버전 0.6.0
2022년 6월 7일에 출시된 0.6.0은 ELKS의 새로운 수준을 정의했습니다.이는 통상보다 훨씬 짧은 릴리스 사이클에서 알 수 있습니다.시스템이 진화 및 개선되는 속도와 최근에 획득한 신뢰성과 사용 편의성이 결합되어 새로운 사용자로부터 '업데이트된 패키지 출시'에 대한 수요가 창출되었습니다.
0.6.0에는 시스템과 애플리케이션 수준 모두에서 많은 개선과 최적화가 포함되어 있습니다.새로운 추가 사항:[19]
- 기본 인터프리터 및 데모 프로그램
- 수동 페이지
- 새로운 플랫폼 지원 확대 - PC98 및 8081x, 특히 PC98의 SCSI 및 IDE 드라이브 지원
- 커널, 라이브러리 및 네트워크 수정/확장
- tar, man, compress 등의 새로운 명령어
0.5.0과 0.6.0 릴리즈 사이에 팀에 의해 200개의 커밋이 전달되어 Gregory Haerr에 의해 절반 이상이 전달되었습니다.
「 」를 참조해 주세요.
- IBM 퍼스널 컴퓨터
- TinyLinux
- ucLinux
- 8비트 아키텍처용 Linux와 같은 FUZIX
레퍼런스
- ^ "COPYING file on github".
- ^ Building embedded Linux systems. Karim Yaghmour (2nd ed.). Sebastopol [Calif.]: O'Reilly Media. 2008. p. 7. ISBN 978-0-596-52968-0. OCLC 273049576.
{{cite book}}
: CS1 유지보수: 기타 (링크) - ^ Danesh, Arman (2006). MasteringTM Linux. Michael Jang (2nd ed.). Hoboken: John Wiley & Sons. p. 904. ISBN 978-0-7821-5277-7. OCLC 437171498.
- ^ a b ELKS의 개요
- ^ "Information on SIBO". Archived from the original on October 21, 2001. Retrieved 2014-03-02.
{{cite web}}
: CS1 maint: bot: 원래 URL 상태를 알 수 없습니다(링크). - ^ "Information on ELKSibo". Archived from the original on March 27, 2005. Retrieved 2014-03-02.
{{cite web}}
: CS1 maint: bot: 원래 URL 상태를 알 수 없습니다(링크). - ^ 엘크세무맨 페이지
- ^ ELKS 에펠 라이브러리 구현
- ^ 2001년 1월 6일 : CS1 maint: bot: 원래 URL 상태를 알 수 없음(링크)
- ^ a b "Older release information, e.g. on ELKS 0.1.0, the first Beta". Archived from the original on 2014-03-16. Retrieved 2014-03-02.
- ^ EDE 0.0.5 릴리즈 발표
- ^ Linux-8086: Flight Linux
- ^ "ELKS release 0.1.4". Archived from the original on 2012-02-21. Retrieved 2012-02-19.
- ^ BusyELKS 소개
- ^ ELKS의 GitHub 이동 정보
- ^ "ELKS is now Ethernet capable — Linux for 8086". www.spinics.net. Retrieved 2018-06-25.
- ^ "ELKS v0.4.0 Pre-release version history and credits · Issue #873 · jbruchon/elks". GitHub. Retrieved 2021-04-09.
- ^ "Release ELKS v0.5.0 · jbruchon/elks". GitHub. Retrieved 2022-02-09.
- ^ a b "Release ELKS v0.6.0 · jbruchon/elks". GitHub. Retrieved 2022-06-17.
- ^ "ELKS wiki". GitHub. Retrieved 2021-04-09.
{{cite web}}
: CS1 maint :url-status (링크) - ^ "Release ELKS v0.5.0 · jbruchon/elks". GitHub. Retrieved 2022-02-09.
- ^ "[kernel] Implement compressed executables in ELKS by ghaerr · Pull Request #912 · jbruchon/elks". GitHub. Retrieved 2021-04-10.