강아지에 오신 것을 환영합니다.
Puppy는 32 비트 인텔 CPU가있는 IBM 호환 컴퓨터의 운영 체제입니다 ( 개인용 컴퓨터 라는 이름으로 이러한 종류의 하드웨어에 대해 들어 보셨을 수도 있습니다).
강아지 개발은 2018 년 1 월 1 일에 시작되었으며 2018 년 5 월 29 일부터 프로젝트가 오픈 소스를 보냈습니다. 그 이후로 운영 체제는 다음과 같습니다.
강아지에는 부분적 C/C ++ 표준 라이브러리가 포함되어 있습니다 (가장 특히 C ++ iostream 이 없음).
강아지의 사용자 공간은 사용자 지정 도구와 포트 오픈 소스 도구의 혼합으로 구성됩니다. 특히 전체 C ++ 도구 체인은 없지만 스크립팅에 마이크로 파이썬 포트를 사용할 수 있습니다.
미래의 목표와 기능은 https://github.com/egranata/puppy/issues에 의해 다루어집니다. 피처 아이디어와 패치 (아래 참조)에서 입력을 받아들이는 것이 매우 기쁩니다 ( 아래 참조).
강아지는 QEMU와 때로는 Bochs에서 적극적으로 테스트됩니다. 

몇 가지 요구 사항이 충족되었다고 가정하면 강아지는 실제 PC에서 부팅하고 작업해야합니다.
(*) Bochs와의 테스트에 따르면 강아지는 Pentium Pro와 같은 오래된 무언가로 부팅 할 수 있지만 실제 하드웨어에서는 테스트되지 않습니다. 아아, 나이가 많은 것을 부팅하는 것은 현재 불가능합니다 ( #63 참조).
(**) QEMU를 사용한 테스트에 따르면 33MB는 강아지가 사용자 공간에 부팅하는 데 필요한 최소값이지만 실제 하드웨어에서는 테스트되지 않습니다.
시스템에 물리적 직렬 포트가있는 경우 부팅 시간 문제를 진단하는 데 도움이 될 수있는 커널 로그를 수집 할 수 있어야합니다. 나는이 목적을 위해 개인적으로 picocom 사용하지만 8N1 115200 작동이 가능하다면 다른 도구가 작동해야합니다. 부팅시 직렬 포트 설정을 사용자 정의 할 수있는 패치가 기꺼이 허용됩니다.
다른 가상화기 및/또는 실제 하드웨어에 대한 테스트도 가장 환영받습니다.
강아지 이미지를 컴파일하려면 Linux (기본 또는 VM/컨테이너에서; Docker는 작동하는 것으로 알려져 있음)를 사용하려고합니다. 컴파일 종속성은 build/deps.sh (CI 인스턴스를 설정하는 데 사용되는 스크립트)에 의해 적절하게 설명됩니다.
제자리에 올바른 비트와 조각이 있다고 가정하고 프로젝트를 컴파일하려면
$ ./build.py
껍질에. 이것은 잠시 동안 (1 분 미만이어야 함) 부팅 가능한 HD 이미지를 out/os.img 합니다.
HD 이미지에는 커널과 상당히 최소의 사용자 공간 + 테스트 제품군이 포함됩니다. 에뮬레이터를 부팅하는 데 사용하거나 실제 하드 디스크에 비트를 비난 할 수 있습니다.
Bochs 및 QEMU 런처 스크립트에 대한 샘플 구성은 build 디렉토리에서 찾을 수 있습니다.
모든 것이 작동한다고 가정하면 강아지 부팅은 쉘 프롬프트로 끝납니다. ls 파일 시스템을 탐색하기 시작합니다.
프로젝트에 대한 기여는 매우 환영합니다.
문제 목록 (https://github.com/egranata/puppy/issues)은 새로운 작업 단위로 적극적으로 유지 관리되며 도움의 이점을 얻을 수있는 문제 및/또는 훌륭한 출발점이라는 문제가 표시됩니다.
사용자 공간 소프트웨어를 강아지에게 포팅하거나 새로운 하드웨어 용 드라이버를 추가하려면 환영합니다.이 작업을 수행하는 모든 문제는 분명히보고 할 가치가 있습니다.
귀하의 기부금을 수락하기 위해 기부금을 신속하게하려면 CONTRIBUTING.md 참조하고 그 지침을 따르십시오.
공식적으로 지원되는 Google 제품이 아닙니다 .