¡Oh no! ¿Dónde está el JavaScript? El navegador Web no tiene JavaScript activado o no es compatible con JavaScript. Active JavaScript en su explorador Web para ver correctamente este sitio Web o actualizar a un navegador Web que admita JavaScript.
Sabías que...
En EEUU Dreamcast se puso a la venta el día 9 de septiembre de 1999.

2018 - Configurar KOS 2.0 Toolchain en Windows 10 + Terminal de Ubuntu

Última actualización en 6 year hace
Kei_DashKei_DashMiembro Júnior
Publicado 6 year hace
Buenas a todos,

Recientemente me he puesto a intentar compilar KOS en mi máquina de Windows 10, aprovechando que hace unos pocos meses, Windows sacó en su catálogo de aplicaciones el Terminal de ubuntu, que nos permite ejecutar cualquier tipo de comando de una máquina real de Linux/Ubuntu en Windows.

Esto lo que nos permite es tener en nuestro S.O Windows 10, a parte de nuestra típica consola de comandos (cmd), un terminal de Linux en el que podemos ejecutar comandos del mismo sin necesidad de estar instalando Cygwin, MinGW o hacerlo en un sistema Linux si no lo deseamos así

Al final después de unos pocos intentos y a fecha del 26/04/2018, como me interesa de cara al futuro desarrollar con KOS o por lo menos intentarlo, he conseguido compilar el KOS a la perfección con la última versión del mismo, así que, para quien le interese paso a explicar todo el proceso en base a las explicaciones de Indiket y Guaripolo que son quienes iniciaron estos post y a los que tengo que darles las gracias.

RESUMEN
La idea es la de compilar KOS en ena máquina Windows 10, pero teniendo acceso a todos los comandos de un terminal de Linux. La idea de usar un terminar de linux es porque la compilación y distribución de desarrollo KOS, se realiza muchísimo a la mejor bajo un sistema Linux que en uno Windows, ya que, en sí, directamente no existe para Win.

Indicar que Toolchain es simplemente un conjunto de herramientas preparadas para compilar KOS de manera "sencilla". He estado buscando una definición de qué es concretamente el Toolchain de Dreamcast pero no la he encontrado. A pesar de ello, por el contenido del directorio y los procesos que realiza, es simplemente eso, un paquete preparado para compilar KOS en Linux

s31.postimg.cc/5n25jons7/ubuntu-win10-kos.png


NECESARIOS
- Un ordenador con Windows 10 con la última o penúltima actualización.
- Instalar el terminal de Ubuntu para Windows 10 desde la tienda
- Compilar Toolchain

PASOS A REALIZAR
Los pasos a realizar intentaré explicarlos lo máximo posible para que en todo momento, sepas que es lo que estás haciendo y porqué. Si no eres un usuario habitual de Linux, te aconsejo que te veas algún tipo de manual de comandos básicos para el terminal.

1. Instalar terminal de Ubuntu en Windows 10
Este paso realmente no tiene complejidad, al final se basa en ir a la tienda de Windows 10 y buscar terminal de ubuntu, pero voy a explicar exactamente que hace esto en nuestro equipo. Lo que instalaremos será un subsistema de Linux en Windows, lo que como comentaba anteriormente, nos permitirá no solo lanzar comandos linux, si no tener un arbol de directorio en nuestro equipo semejante al de muchas distribuciones Debian de Linux, en este caso, Ubuntu.

Antes de abrir el terminal de Ubuntu, debemos realizar una instalación previa de un componente de Windows 10 llamado Subsistema de Windows para Linux. Para ello, debemos acceder a:

Pandel de Control > Programas > Programas y Características > Activar o Desactivar características de Windows

En la ventana que se nos mostrará, desplazate hasta que encuentres Subsistema de Windows para Linux. Marcalo y da a aceptar. Nos pedirá reinicio de máquina que debemos ejecutar.

s31.postimg.cc/rpsqcj6rb/image.png


2. Abrir el terminal de Ubuntu
Una vez reiniciemos el equipo, ya podemos proceder a abrir el terminal de Ubuntu
s31.postimg.cc/uwn9vue93/image.png


Al abrirlo no te apures, estará unos minutos creando el subsistema en tu equipo y dependerá de lo rápido que sea tu PC. Al final este proceso lo que hace es instalar elementos relacionados con Linux y un árbol de directorio Linux que normalmente se aloja en C: \Users\<nombre_usuario>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

A demás, estaros pendientes porque el terminal os pedirá un nombre de usuario para el sistema y una contraseña. Finalmente, creará dentro de \home\ una carpeta con tu nombre de usuario, donde comenzaremos a trabajar..pero no será la única carpeta con la que tocaremos.

2.1. Instalación de componentes extra
Es posible, que la instalación del terminal tenga todas las librerías necesarias para la compilación de KOS. Por defecto, hay una que es necesaria y no está instalada que es la texinfo. Para instalarla, en nuestro terminal, ejecutamos lo siguiente:

sudo apt-get install texinfo
sudo apt-get install libjpeg-turbo8-dev
sudo apt-get install libpng-dev


3. Configurar directorios
La compilación va a trabajar con varios directorios concretos, que debemos configurar previamente. En este caso trabajaremos con los comandos de linux mkdir, sudo, cd, chmod, chown y ls (para ver información detallada de los mismos..google es tu amigo)

3.1. Directorio de desarrollo:
Una vez abierto el terminal, se abrirá por defecto en el directorio \home\<nombre_usuario>\. Nuestro fin es crear una carpeta llamada dreamcast dentro de nuestra carpeta personal. El directorio podría ser otro, pero para seguir la regla del tutorial de Guaripolo, lo dejamos así. Para ello ejecutamos lo siguiente:
mkdir dreamcast


Una vez creada la carpeta, nos desplazamos al directorio /usr/local, que está en la raíz de nuestro árbol de directorios de Linux. Para ello lanzamos el suiguiente comando:
cd /usr/local 


Accedemos a este directorio porque, la compilación de KOS, va a alojar en 2 directorios que deben existir previamente, un conjunto de ficheros y librerías necesarias. Dichos directorios son:

- sh-elf
- arm-eabi


Así que procedemos a lo siguiente.

Primero, creamos el directorio dc dentro de el directorio llamado local



Asignamos permisos a los directorios (importante)

sudo chmod 775 cd
sudo chown <nombre_usuario>:<nombre_usuario> dc


Ahora, dentro de dc, crearemos el los dos directorios indicados previamente:

mkdir sh-elf
mkdir arm-eabi


Asignamos permisos a los directorios (importante)

sudo chmod 777 sh-elf
sudo chown <nombre_usuario>:<nombre_usuario> sh-elf
sudo chmod 777 arm-eabi
sudo chown <nombre_usuario>:<nombre_usuario> arm-eabi


Ahora, debemos volver a crear dentro de estos directorios, otros sub-directorios para terminar de crear la estructura. Para cada carpeta (sh-elf y arm-eabi) deben existir esta estructura


/usr/local/dc/sh-elf/sh-elf/include/sys
/usr/local/dc/arm-eabi/arm-eabi/include/sys


4. Descarga del KOS y KOS-PORTS
Regresamos a la carpeta /home/<nombre_usuario>/dreamcast y escribimos en el terminal los siguientes comandos (de uno en uno) que descargarán del repositorio de git las últimas versiones de cada distribución.


git clone git://git.code.sf.net/p/cadcdev/kallistios kos
git clone git://git.code.sf.net/p/cadcdev/kos-ports kos-ports


Una vez descargado, accedemos al directorio /home/<nombre_usuario>/dreamcast/kos/utils/dc-chain

Estando en este directorio, ejecutamos los siguientes comandos:
a. Descarga
sh -e download.sh

b. Descompresión de ficheros
sh -e unpack.sh


5. Modificacion Makefile
Una vez terminen estos dos procesos, toca modificar el fichero Makefile del mismo directorio (lo podeis hacer con cualquier editor de texto, yo lo hice en el terminal con nano (nano Makefile). Lo modificamos con las siguientes opciones:

sh_target=sh-elf
arm_target=arm-eabi
sh_prefix  := /usr/local/dc/$(sh_target)
arm_prefix := /usr/local/dc/$(arm_target)
# kos_root: KOS Git root (contains kos/ and kos-ports/)
kos_root=/home/<nombre_usuario>/dreamcast
# kos_base: equivalent of KOS_BASE (contains include/ and kernel/)
kos_base=/home/<nombre_usuario>/dreamcast/kos
binutils_ver=2.27
gcc_ver=4.7.3
newlib_ver=2.0.0
gdb_ver=7.11.1
insight_ver=6.8-1


En principio, mientras la versión no cambie, las variables binutils_ver, gcc_ver, newlib_ver, gdb_ver y insight_ver no hace falta cambiarlas. Yo las dejé con las que estaban por defecto.

6. Compilación
Ya una vez preparado esto, ya solo toca compilar. Para ello y muy importante, hay que ejecutar el make cómo super usuario (sudo). Para ello, estando en el directorio /home/<nombre_usuario>/dreamcast/kos/utils/dc-chain ejecutamos el siguiente comando:



Así comenzará la compilación con permisos de administrador (harán falta, ya que es posible que al ejecutar todo con tu usuario, la compilación no tenga permisos para crear cietos directorios y de un error).

Si todo sale bien, no verás ningún error en la consola. Espera un buen rato porque la compilación va para largo y no desesperes.

Si quieres echar todo atrás porque da algún error, lo mejor es ejecutar del directorio dc-chain el script cleanup, que borrará todo el contenido. Podéis tambiar ejecutar los pasos que indica Guaripolo en su post, aunque a mi personalmente me funcionaron a medias y lo que hice fue empezar todo desde cero en cada proceso que me daba error, mientras resolvía esos errores.

sh -e cleanup.sh


Y listo, ya tenéis KOS compilado y listo para comenzar a desarrollar vuestros juegos :-D

Ahora queda configurar el directorio propio de KOS, para posteriormente poder compilar nuestro código, por lo que haré una segunda parte de este tutorial justo aquí

Espero no haberme equivocado en ningún paso concreto, si es así, que los Masters me corrijan por favor :-)

Saludos!
Editado por Kei_Dash en 30-04-2018 12:43, 6 year hace
JakoJakoMiembro Mayor
Publicado 6 year hace
Bravo, lo conseguiste!!!
Me quito el sombrero, la modificación del makefile parace ser la clave.
Gracias!!! :-)
4glsp.com/wp-content/uploads/DCONLINE/dcstatus.png

Be Dreamcast my friend!!! yes
(DC4Life!)
alexislightalexislightAdministrador
Publicado 6 year hace
Estos temas, que quizas para la mayoria resulten muy técnicos, son los que a futuro dan los mayores frutos, siempre habrá algún fanatico queriendo desarrollar un juego para su consola favorita y esto le será extremadamente útil...
Bien por vos Kei_dash!
Amo a mi Dreamcast
1.bp.blogspot.com/-ISA2GZATNCQ/TbntZYUJViI/AAAAAAAAAB4/wDlRYAhu_lo/s1600/vardream.gif
puede ver todos los hilos de discusión en este foro.
puede iniciar un nuevo hilo de discusión en este foro.
no puede responder en este hilo de discusión.
no puede empezar en una encuesta en este foro.
puede cargar archivos adjuntos en este foro.
no puede descargar archivos adjuntos en este foro.
Afiliados
SEGA Saturno - Saturn, SEGA y Videojuegos