Cómo cambiar scripts de arranque Linux (Proyecto PyOS)?

Iniciado por GeorgArming, 18 Enero 2012, 16:39 PM

0 Miembros y 5 Visitantes están viendo este tema.

GeorgArming

provaré. y una cosa muy interesante que me has dicho por privado es probar con una versión anterior de Linux, más simple.

armizh

mira, en la version 1.0, en el archivo /init/main.c en la funcion 'asmlinkage void start_kernel(void)' linea 351, esta el orden de ejecucion en el inicio del sistema. Puedes probar a llamar al interprete justo despues de entrar al user mode, casi al final de la funcion.
En estos momentos no tengo el codigo del interprete y no puedo descargarlo porque al parecer se cayeron los servidores gringos, o simplemente nuetsro proveedor no esta hinchando los h***** (perdonen, no encontre otra palabra mejor para describir lo que nos hacen las compañias aca en chile) :-(
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

armizh

perdon por el doble post, pero tambien puedes probar a que crees un segundo fork (ademas del que manda a init) hacia el interprete, o en init hagas el fork hacia el interprete. Creo que la segunda opcion es mas viable. Saludos
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

GeorgArming

#13
gracias! voy a probar. una pregunta: si lo hago con Linux 1.0 para simplificar, si algún día el proyecto toma cierta envergadura (soñar es gratis), será muy difícil migrar a la versión Linux más actual?

Gracias.

PD: POR FAVOR, LA COSA ESTÁ DIFÍCIL, ASÍ QUE SE AGRADECERÁ CUALQUIER APORTE

GeorgArming

Nueva duda:

¿Qué sentencia, en C, y dentro del kernel de Linux (es decir, teniendo en cuenta las librerías disponibles, me permite iniciar el intérprete?

armizh

A tu primera pregunta, yo creo que no sera dificil, siempre y cuando no modifiques directamente el kernel, sera solo buscar el archivo en el que llamar al fork para ejecutar el interprete como un proceso.
A tu segunda pregunta, la funcion es fork(), que es el que se encarga de ejecutar los procesos, en realidad fork es difurcacion, es decir, copia el proceso padre y crea un proceso hijo exacto, luego ese proceso hijo ejecuta cierta instruccion y mete a la memoria el programa. Para mas informacion puedes leerte el famoso libro Sistemas operativos: diseño e implementacion de AST, ahi el explica fork(), waitpid(), malloc(), y otras funciones de los sistemas Unix.
Saludos
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

GeorgArming

Cita de: armizh en 19 Enero 2012, 22:38 PM
A tu primera pregunta, yo creo que no sera dificil, siempre y cuando no modifiques directamente el kernel, sera solo buscar el archivo en el que llamar al fork para ejecutar el interprete como un proceso.
A tu segunda pregunta, la funcion es fork(), que es el que se encarga de ejecutar los procesos, en realidad fork es difurcacion, es decir, copia el proceso padre y crea un proceso hijo exacto, luego ese proceso hijo ejecuta cierta instruccion y mete a la memoria el programa. Para mas informacion puedes leerte el famoso libro Sistemas operativos: diseño e implementacion de AST, ahi el explica fork(), waitpid(), malloc(), y otras funciones de los sistemas Unix.
Saludos

ok.

lo más curioso es que el libro que dices ya me lo leí, pero no lo recordaba para nada  :o. menuda memoria tengo  ;D

armizh

Cita de: GeorgArming en 19 Enero 2012, 22:56 PM
ok.

lo más curioso es que el libro que dices ya me lo leí, pero no lo recordaba para nada  :o. menuda memoria tengo  ;D
jeje, yo aun recuerdo el esfuerzo mental de la cena de los filosofos, que ya lo recuerdo bastante bien, pero no lo he podido aplicar xd porque aun no he llegado a paginacion y gestion de memoria, espero que logres hacer funcionar ese interprete, que es posiblemente lo mas complicado de todo.
Saludos
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

Akai

Sinceramente, la estáis liando parda a un nivel monumental.

Esto no tiene NADA NADA NADA y repito, NADA que ver con el kernel.

NADA que ver con el kernel

Lo único que necesitas hacer es investigar, en la distribución que estés usando como base y que todavia no nos has dicho, de que forma arrancan demonios y demás, y de esa misma forma lanzar tus cosas.


GeorgArming

creo que me he explicado mal, porque lo que dices en absoluto es lo que quería decir.

a ver, no estoy trabajando a partir de ninguna distribución. estoy trabajando directamente con el kernel linux,  al que quiero implementar el intéprete Python. obviamente entonces lo que salga de ahí ya no será sólo kernel.

¿Qué es lo que no se entiende o se entiende mal?