- RetrOS-32는 i386 아키텍처 기반 32비트 취미용 운영체제 프로젝트임
-
그래픽, 멀티태스킹, 네트워킹 기능을 제공하며 실제 하드웨어에서도 테스트됨
-
C, C++, 어셈블리어로 작성되었고 Docker를 통해 크로스플랫폼 컴파일을 지원함
-
사용자 시스템 구축, QEMU 에뮬레이션 실행, 실기기 부팅이 가능함
- 프로젝트는 완성도 높은 커널 기능과 네트워크 스택을 갖추고 있으며 지속적으로 기능 추가 중임
RetrOS-32bit 프로젝트 소개
- i386 아키텍처를 기반으로 한 32비트 취미용 운영체제 개발 프로젝트임
- 그래픽 환경, 멀티태스킹, 네트워크 기능을 지원함
- 프로젝트 시작일: 2022년 5월 12일
기본 로그인 정보
- 기본 사용자 계정: system, admin, guest
- admin 비밀번호는 admin, guest는 비밀번호 없음
- 새로운 사용자는 admin create <사용자명> <비밀번호> 명령어로 생성 가능
주요 개발 언어 및 툴
-
C, Assembly: 커널, 유틸리티, 빌드 시스템
-
C++: 사용자 공간 애플리케이션
-
Make: 빌드 자동화
-
Docker: 크로스플랫폼 컴파일 환경 제공
테스트된 하드웨어
- Lenovo x240
- Asus Eee PC 시리즈
- Dell Optiplex 780
- Samsung N150 Plus
- Samsung NP-NC10
- IBM Thinkpad a21p
시작하기 (Getting Started)
필요한 도구 (Prerequisites)
-
Docker: 크로스플랫폼 컴파일
-
QEMU: 가상 머신 에뮬레이션
- Linux/WSL 환경: build-essential, gcc-multilib, grub2, xorriso, xxd
- MacOS: Docker 사용 필요 (32비트 x86 빌드 제한)
설치 방법 (Installation)
- Git 저장소 클론
- Git 서브모듈 초기화
-
make compile, make img 명령으로 이미지 파일 생성
-
make qemu 명령으로 QEMU 에뮬레이터 실행
MacOS와 Windows에서는 Docker 사용 권장
사용법 (Usage)
-
copy.sh v86 사이트에서 .img 파일 업로드하여 실행
- QEMU로 직접 실행 가능: make qemu 또는 qemu-system-i386 <이미지명>
- 실기기에서는 GRUB 기반 ISO를 USB/CD로 구워서 부팅 가능
프로젝트 구조 (간단 요약)
-
apps: 사용자 공간 애플리케이션
-
bin: 바이너리 파일
-
boot: 부트로더 소스
-
drivers: 커널 드라이버
-
fs: 파일 시스템 코드
-
graphics: 그래픽 처리 코드
-
include: 헤더 파일
-
kernel: 커널 주요 소스
-
lib: 라이브러리
-
net: 네트워킹 코드
-
rootfs: 루트 파일 시스템
-
tests: 테스트 코드
-
tools: 빌드 및 유틸리티 도구
개발 로드맵 (Roadmap)
-
커스텀 부트로더 및 GRUB 호환 부트 완료
-
멀티스레드 선점형 스케줄링 및 커널/유저 공간 분리 구현
-
네트워크 스택: Ethernet, IP, ARP, UDP, TCP, DHCP, DNS 완료
-
그래픽스 시스템: 창 관리자, 위젯, 더블 프레임버퍼 렌더링 구현
-
파일 시스템: Ext2 유사, FAT16 지원, 읽기/쓰기 가능
- 향후 계획: 웹서버, FTP, IRC, SSH, Telnet, HTTP, HTML 지원 추가 예정