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

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

0 Miembros y 1 Visitante están viendo este tema.

GeorgArming

Cita de: robanyh en 21 Enero 2012, 04:33 AM
Hola soy nuevo por aqui y me gustaria darte alguna informacion que quizas te vale.
montes tu sistema basado en phyton como lo montes, vas a necesitar un sistema de ficheros y una forma de gestionar el arranque de tu maquina, como ya sabreis muchos, este arranque antes se hacia mediante SystemV usando init e inittab, ahora, yo al menos, uso upstart (concepto de tareas eventos y trabajo en paralelo).
Aqui va una explicacion de como crear una tarea para que se ejecute.

necesitamos ser root y dos ficheros.
creamos por ejemplo el fichero start.conf con el contneido:

start on (local-filesystems and runlevel [0123456])

task

exec /etc/init.d/start.sh

y el fichero start.sh con el contenido:

#!/bin/sh -e

echo "eres un poco furcia" > /home/roberto/furcia


ahora vamos a cojer nuestro .sh y vamos a dare los permisos que tienen la mayoria de ficheros dentro de init,d , asi pues hacemos chmod 755 /home/roberto/start.sh

ahora con cp movemos el start.sh a /etc/init.d
y el fichero start.conf a /etc/init

reiniciamos y vamos a la carpeta /homre/roberto, y aqui tenemos el fichero creado.

Sabiendo esto, puedes hacer el script todo lo complicado que quiers, puedes definir que cargue al producirse ciertos eventos, yo por ejemplo le he puesto local-filesystems ya que como tengo que crear un fichero en mi carpeta personal he de asegurarme de que elsistema de ficheros esta mpntado, espero haber sido de ayuda, un saludo

pd: sabiendo esto ya puedes modificar los ficheros de /etc/init , puedes modificar el .conf que quieras para que ejecute lo que creas conveniente


Muchas gracias, gran aporte. Pero yo soy o hablas como si Linux ya estuviera compilado e instalado?

Cita de: fallout20xx en 21 Enero 2012, 09:38 AM
La droga... acaba afectando.
bueno, todo muy interesante... ¿pero exactamente que vas a montar sobre el kernel?
¿una terminal? ¿con python? donde reside la ventaja, por que para hacer un entorno grafico... fuuuuuua o coges algo de lo que ya esta hecho o estas muerto tio antes o despues iras a caer a un sistema basado en gnome... es asi...

El objetivo de la versión 1.0 de PyOS es eso, una terminal que funcione con Python. En la versión 2.0, pues montaré interfaz gráfica. No veo por qué no. Tampoco lo voy a hacer "a pelo", usaré una librería.


GeorgArming

otra opción sería coger una distribución sin interfaz gráfica, quitarle casi todo y dejarle sólo Python.

armizh

Cita de: GeorgArming en 21 Enero 2012, 13:25 PM
otra opción sería coger una distribución sin interfaz gráfica, quitarle casi todo y dejarle sólo Python.
Hey hombre pues busca sobre Linux From Scratch, ahi te enseñan a hacer tu propia distro desde cero con simplemente un.... kernel.... pues bueee se me habia olvidado esa pagina xd
http://www.linuxfromscratch.org/

Cita de: GeorgArming en 21 Enero 2012, 12:42 PM
Muchas gracias, gran aporte. Pero yo soy o hablas como si Linux ya estuviera compilado e instalado?
El hombre habla de un kernel compilado e instalado, pero tales archivos existen en el codigo fuente, por lo que igual vale.
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

robanyh

#43
Cita de: GeorgArming en 21 Enero 2012, 12:42 PM
Muchas gracias, gran aporte. Pero yo soy o hablas como si Linux ya estuviera compilado e instalado?

El objetivo de la versión 1.0 de PyOS es eso, una terminal que funcione con Python. En la versión 2.0, pues montaré interfaz gráfica. No veo por qué no. Tampoco lo voy a hacer "a pelo", usaré una librería.



Si claro, yo esto lo he hecho desde mi maravilloso debian xD, migrué de systemV a upstart. La cosa es que en vuestro sistema implementeis esta gestion de arranque, que evoluciona inittab e init introduciendo nuevos conceptos, hay informacion por ahi, no sé si se pueden poner links... pero googleando un poco...Ademas creo que  incluso hay un instalador.

Otro apunte es que al igual que se pueden inciar tareas al arranque se puede configurar todo lo relacionado con el proceso de carga, login shells, prioridades, con lo cual podrias poner a correr el interprete de phyton. En tu shell script haces la llamada a python con los parametros (ficheros, por ejemplo: python /etc/init/py.iniciarX  ). Es 100% configurable. Si quieres que te des mas info dimelo, no sé hasta que punto conoces o desconoces del tema. un saludo

GeorgArming

pero una cosa, si el kernel ya está instalado, y lo modifico para implementar lo de python, cómo se distribuye eso? porque no habrá una imagen iso que lo tenga todo cambiado.

armizh

Cita de: armizh en 21 Enero 2012, 16:23 PM
Hey hombre pues busca sobre Linux From Scratch, ahi te enseñan a hacer tu propia distro desde cero con simplemente un.... kernel.... pues bueee se me habia olvidado esa pagina xd
http://www.linuxfromscratch.org/
El hombre habla de un kernel compilado e instalado, pero tales archivos existen en el codigo fuente, por lo que igual vale.
Saludos
En esa pagina encuentras todo para montar y distribuir tu distro desde cero. 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

robanyh

#46
Cita de: GeorgArming en 21 Enero 2012, 20:05 PM
pero una cosa, si el kernel ya está instalado, y lo modifico para implementar lo de python, cómo se distribuye eso? porque no habrá una imagen iso que lo tenga todo cambiado.

Si quieres distribuir el kernel modificado las instrucciones estan arriba.
Si lo que te refieres es al proceso de instalacion,debes inclluir los ficheros y meterlos en /etc/init.d y en /etc/init respectivamente, al igual qe se instalan las que vienen por defecto en una distribucion cualquiera.
haz un: ls -l /etc/init.d y  ls -l /etc/init    eso ficheros los introducen los que crean las distros. Yo no tocaria el kernel, perderas estabilidad.

El kernel crea el proceso init que se encarga de iniciar, ahi es donde tienes qe empezar a meter mano


armizh

Cita de: robanyh en 21 Enero 2012, 21:27 PM
Si quieres distribuir el kernel modificado las instrucciones estan arriba.
Si lo que te refieres es al proceso de instalacion,debes inclluir los ficheros y meterlos en /etc/init.d y en /etc/init respectivamente, al igual qe se instalan las que vienen por defecto en una distribucion cualquiera.
haz un: ls -l /etc/init.d y  ls -l /etc/init    eso ficheros los introducen los que crean las distros. Yo no tocaria el kernel, perderas estabilidad.

El kernel crea el proceso init que se encarga de iniciar, ahi es donde tienes qe empezar a meter mano


Generalmente el kernel compilado no se toca, el hombre va a compilar un kernel modificado... o lo que puede hacer es usar el kernel de su distro como base, le agrega bash y el interprete y desde ahi comienza con su terminal
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

robanyh

Ya es he comentado como lo haria yo. kernel por defecto y aprovechar el upstart para arrancar desde alli el interprete cuando se inicie el OS.Si quereis seguir tirando por ahi por aqui estaré ;)