Soy nuevo en kernel y Linux incrustado. Recientemente compré una Raspberry Pi y la inicié usando la Raspbian. El Pi me fascinó, para aprender más sobre Embedded decidí hacer un sistema de automatización del hogar. Quería usar mi propio núcleo y apilar. es decir, no quiero usar ninguno de los SO.
Para eso descargué Kernel, target_fs, firmware y cadena de herramientas del github oficial. He compilado el núcleo usando la cadena de herramientas.
Ahora no sé cómo poner esto en una nueva tarjeta sd (formateada para un nuevo comienzo). ¿Qué cosas debo tener en cuenta antes de iniciar mi stack? Como no puse el servidor / Cliente ssh o telnet, ¿cómo puedo saber si el arranque fue exitoso? ¿Dónde puedo obtener un demonio ssh / telnet para el pi? Mi objetivo es arrancar solo el kernel (o mínimo) en la Raspberry Pi.
Respuestas:
El núcleo espera dos cosas: un sistema de archivos raíz y un
init
demonio que reside en él. El init incluido con raspbian es un sistema de estilo sysV . No está atado a eso: otros sistemas init comúnmente utilizados con Linux (recuerde: el núcleo es Linux ) lo sonsystemd
yupstart
, pero necesita un sistema init de algún tipo.También puede poner
init
un initramfs y tenerlo integrado en el núcleo , en cuyo caso podría escapar sin un sistema de archivos raíz, pero eso parece inútil en este caso.init
es la única aplicación de usuario iniciada por el kernel. Normalmente, luego inicia procesos que abren ttys con un inicio de sesión, y luego otros servicios que pueden iniciar un administrador de pantalla, sshd, etc. Es posible que no necesite el inicio de sesión, pero probablemente desee el tty; También puede iniciar sshd directamente en su lugar.Consíguelo en el mismo lugar que raspbian hizo, la fuente aguas arriba. Ninguna de estas cosas fue escrita específicamente para el pi. O al menos, muy, muy poco. Se ha utilizado en una gran variedad de sistemas diferentes.
Si quieres uno precompilado para el pi ... bueno, eso es raspbian, etc. 1
Tendrá que usar el gestor de arranque específico para pi que se encuentra en la
/boot
partición de la imagen raspbian.1. Para ser brutalmente honesto, creo que estás en una búsqueda masivamente quijotesca que, basado en el conocimiento que implica tu pregunta, no tienes prácticamente ninguna esperanza de lograr este año a menos que renuncies a tu trabajo y te dediques a aprender a tiempo completo, y aun así, su probabilidad de fracaso es muy alta y le llevará meses llegar a un punto en el que tenga alguna posibilidad de éxito. No es simple No es facil. Dicho esto, incluso si fallas, probablemente aprenderás algunas cosas útiles en el camino. Sin embargo, podría dedicar más tiempo a aprender a comprender una distribución existente (como raspbian) y cómo usarla para crear su sistema de automatización del hogar.
fuente
Para empezar, creo que tiene un concepto erróneo de usar computadoras integradas (especialmente en el nivel de Raspberry Pi). Si realmente desea construir un sistema operativo personalizado, le sugiero que comience en Linux desde Scratch, LFS, http://www.linuxfromscratch.org/ , pero si desea comprender la informática integrada, comience buscando en Google "sistemas integrados", Wikipedia o Embedded Wiki de Linux http://elinux.org/Main_Page .
fuente
Yo tuve el mismo problema. Creé una colección de scripts de shell, exactamente para ese propósito.
http://www.dettus.net/detLFS
fuente