OpenGnsys Client boot-tools INSTALL.es.txt ============================================ Advertencia previa: ----------------------------- - Se puede ejecutar este script desde un sistema Ubuntu 10.04 o superior. - Mas información https://opengnsys.es/trac/wiki/ClienteInitrdDSGenerarloV1.0.2 Requisitos iniciales -------------------- - Comprobar la conexión a Internet, sobre todo si usas proxy (el hecho de que funcione apt-get no significa que tengas el proxy configurado). Proceso de creación de imagen docker ------------------------------------ Simplemente llamar a docker build sin sorpresas: docker build -t mkoglive . Si queremos usar una rama diferente del repo de opengnsys: docker build --build-arg OPENGNSYS_BRANCH=mybranch -t mkoglive . Proceso de creación de imagen oglive ------------------------------------ docker run --rm --name mkoglive --privileged=true --volume $PWD/ogclient:/var/lib/tftpboot/ogclient mkoglive --codename noble Hace falta --privileged=true para que mkoglive.py pueda ejecutar, entre otras cosas, losetup. El parámetro --codename permite especificar la versión de ubuntu. También se puede especificar, por ejemplo, --loglevel DEBUG. Y también podemos indicar otro archivo de configuración usando --config. Las imágenes se crean en ./ogclient. Puede que durante la ejecución del contenedor salga un error como este: Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.12/logging/__init__.py", line 241, in _acquireLock _lock.acquire() Es un bug conocido en la biblioteca "logging" de python, para el cual ya existe solución y solo es cuestión de tiempo que la versión de python incluida en ubuntu incluya el fix. Descripción de la estrucutra de boot-tools ------------------------------------------ - INSTALL.es.txt este mismo archivo. - mkoglive: - mkoglive.py script principal para crear la imagen oglive - mkoglive.cfg configuración de mkoglive.py - boottools/ libreria complementaria del mkoglive.py - includes/ directorio con ficheros específicos para incluir en la distribución - schroot: - schroot.conf configuración de schroot - mount-defaults configuración de puntos de montaje para schroot - chroot-tasks.py helper para configurar el oglive estando en schroot - docker: - Dockerfile para crear una imagen docker - .dockerignore para limitar el contexto de docker-build