커널에 대해 배우고 결국 Linux 커널 개발에 들어가기위한 취미 OS. 현재 지원합니다.
나는 코드를 읽을 수 있고 잘 조직하는 것을 목표로한다. 블로그는이 프로젝트의 개발을 따릅니다.
다음 패키지를 설치하십시오.
xorriso ; Archlinux의 libisoburngrubmtoolsimagemagickqemu (권장)bochs (선택 사항)clang + Development 패키지, 예를 들어 Archlinux에 대한 base-devel (선택 사항)달리다
make toolchain
Snowflakeos를 컴파일하는 데 필요한 크로스 컴파일러를 구축합니다. 이 명령은 GNU FTP 서버에서 gcc 및 binutils 의 빌드 스크립트를 다운로드하고 실행하고 toolchain/compiler 에 크로스 컴파일러를 설치합니다.
자신만의 도구 체인을 구축하는 대신 시스템의 clang 으로 Snowflakeos Makefile 컴파일 할 수 있습니다.
# CC=clang
# LD=ld
# AR=ar
# AS=as
# CFLAGS+=-target i386-pc-none-eabi -m32
# CFLAGS+=-mno-mmx -mno-sse -mno-sse2 배포판이 크로스 컴파일러를 제공하는 경우 시간을 절약하고 사용할 수 있습니다. 그렇게하려면 주요 Makefile 에서 다음 변수를 편집하여 크로스 컴파일러의 실행 파일과 일치하도록해야합니다.
AR=$(HOST)-ar
AS=$(HOST)-as
LD=$(HOST)-ld
CC=$(HOST)-gcc --sysroot=$(SYSROOT) -isystem=/$(INCLUDEDIR)
HOST 편집하거나 실행 파일 이름을 직접 하드 코딩 할 수 있습니다.
도 실행하십시오
make qemu # or
make bochs
VM에서 Snowflakeos를 테스트합니다. Snowflakeos를 컴파일하고 실행하는 방법에 대한 자세한 옵션은 편집/디버그주기를 참조하십시오.
실제 하드웨어 에서이 프로젝트를 테스트 할 수 있습니다. 다른 OS의 라이브 USB를 만들 때와 같이 dd 사용하여 SnowflakeOS.iso USB 드라이브에 복사하여 직접 부팅 할 수 있습니다.
이것은 거의 테스트되지 않았으며, 그것이 무엇을 할 것인지 아는 사람은 누구입니까? :) 당신이 이것을 시도한다면, 어떤 하드웨어 등에 대해 듣고 싶습니다 ...
기부금은 어떤 형태로든 가장 환영합니다! 안내를 위해 CONTRIBUTING.md 와이 프로젝트의 위키와 상담하십시오.