Bienvenido a Puppy.
Puppy es un sistema operativo para computadoras compatibles con IBM con CPU Intel de 32 bits (es posible que haya oído hablar de este tipo de hardware bajo el nombre de la computadora personal ).
El desarrollo de Puppy ha comenzado el 1 de enero de 2018 y el proyecto ha sido de código abierto desde el 29 de mayo de 2018. Desde entonces, el sistema operativo ha crecido para proporcionar:
Puppy también incluye una biblioteca estándar C/C ++ parcial (sobre todo ausente es C ++ iostream ).
El espacio de usuario de Puppy consiste en una combinación de herramientas personalizadas, así como herramientas de código abierto portadas. En particular, no hay una cadena de herramientas C ++ completa, pero hay un puerto de Micrypthon disponible para las secuencias de comandos.
Los objetivos y características futuras están cubiertas por https://github.com/granata/puppy/issues. Si bien estaría muy contento de aceptar la opinión en términos de ideas de características, así como parches (pero ver a continuación), algunas cosas son explícitas sin goles , a saber:
Puppy se prueba activamente en QEMU, y ocasionalmente Bochs. 

Suponiendo que se cumplan algunos requisitos, el cachorro debe arrancar y trabajar en una PC real:
(*) Las pruebas con Bochs sugieren que el cachorro puede arrancar en algo tan antiguo como un Pentium Pro, pero esto no ha sido probado en hardware real. Por desgracia, el arranque en cualquier cosa más antigua actualmente no es posible (ver #63).
(**) Las pruebas con QEMU sugieren que 33MB es el mínimo requerido para que Puppy arrance al espacio de usuarios, pero esto no se ha probado en hardware real.
Si su sistema tiene un puerto serie físico, debería poder recopilar registros de núcleos que podrían ayudar a diagnosticar el problema del tiempo de arranque. Yo personalmente uso picocom para este propósito, pero otras herramientas deberían funcionar si son capaces de operar 8N1 115200. Los parches para habilitar la personalización de la configuración del puerto serie en el arranque serían aceptados con gusto.
Las pruebas en otros virtualizadores y/o hardware real también son bienvenidos.
Para compilar una imagen de cachorro, querrá usar Linux (nativo o en un VM/Container; se sabe que Docker funciona). Las dependencias para la compilación se describen adecuadamente por build/deps.sh (el script utilizado para configurar una instancia de CI).
Suponiendo que tenga los bits y piezas adecuados en su lugar, para compilar el proyecto, solo escriba
$ ./build.py
en un caparazón. Esto se agitará por un tiempo (debe estar por debajo de un minuto) y producir una imagen HD de arranque out/os.img .
La imagen HD incluye el núcleo, así como un espacio de usuarios bastante mínimo + suite de pruebas. Se puede usar para arrancar un emulador o desgarrar a un disco duro real.
Se puede encontrar una configuración de muestra para el script de lanzador de BOCHS y QEMU en el directorio build .
Suponiendo que todo funciona, arrancar un cachorro termina con un indicador de concha. ls trabaja para comenzar a explorar el sistema de archivos.
Las contribuciones al proyecto son muy bienvenidas.
La lista de problemas (https://github.com/granata/puppy/issues) se mantiene activamente con nuevas unidades de trabajo, y los problemas que se beneficiarían de la ayuda y/o son excelentes puntos de partida se marcan como tales.
Si desea intentar portar el software UserSapace a Puppy, o agregar controladores para el nuevo hardware, eso también es bienvenido; definitivamente vale la pena informar todos los problemas que se encuentra con esto.
Para acelerar su contribución hasta la aceptación, consulte CONTRIBUTING.md y siga las instrucciones en el mismo.
Tenga en cuenta que este no es un producto de Google compatible oficialmente .