Construyendo Puppy con Woof-CE

Post Reply
Message
Author
User avatar
nilsonmorales
Posts: 972
Joined: Fri 15 Apr 2011, 14:39
Location: El Salvador

Construyendo Puppy con Woof-CE

#1 Post by nilsonmorales »

Hace tiempo que estoy con la espina de querer aprender a construir un puppy desde cero usando woof-ce, hoy tengo la limitacion de estar sin internet, asi que empezaré este hilo con la idea de que otros puedan aportar al tema no importa si son nuevos o expertos, iniciaré traduciendo un poco lo que dice la pagina en github.
https://github.com/puppylinux-woof-CE/woof-CE
Woof-CE (woof edicion comunitaria ) es una bifurcación de woof2 del repositorio fosil de Barry Kauler del 11 de noviembre de 2013, commit f6332edbc4a75c262a8fec6e7d39229b0acf32cd.

El original de BK (no mantenido) está en http://bkhome.org/fossil/woof2.cgi/index

Woof es un "constructor de Puppy". Lo que esto significa es que puede construir su propia live-CD de Puppy Linux customizada desde los paquetes binarios de otra distro.

Actualmente es compatible con: Slackware, Devuan, Trisquel, Ubuntu, Debian, Puppy (pet pkgs)

Woof-CE tiene cinco directorios:

- woof-arch: archivos dependientes de la arquitectura (x86, arm), en su mayoría ejecutables binarios.
- woof-code: el núcleo de Woof. Principalmente scripts.
- woof-distro: configuracion de la distro (archivos Debian, Slackware, etc.).
- kernel-kit: scripts para descargar, parchar, configurar y construir el kernel.
- initrd-progs: scripts y archivos para generar el ramdisk inicial

Para crear un directorio de trabajo, llamado 'woof-out_*', primero tiene que ejecutar el script 'merge2out'. Esto fusiona los 5 directorios en un directorio llamado 'woof-out- *'.

Luego debe dirigirse a 'woof-out_*' y ejecute los scripts de construcción.

Lo bueno de esta operación de fusión es que puedes elegir exactamente qué quieres que vaya en woof-out. Puede elegir el sistema host que está construyendo (Usualmente, x86), el objetivo (ejs: x86, ARM), el distro compatible (ej: debian), y la versión compatible a la distro (por ejemplo: xenial).
Por lo tanto, creas un woof-out sin ningún contenido inadecuado y confuso.

Entonces, para ponerse en marcha con Woof-CE, abra un terminal y ejecute esto:

Code: Select all

# ./merge2out
# cd ../woof-out_<RESTO DEL NOMBRE DEL DIRCTORIO>
Preparación

1. Entorno de construcción adecuada
  - Partición Linux (ext2/3/4)
  - Al menos 6-10 GBs de espacio

2. Sistema operativo del host
  - Un Puppy Woof-CE, deberías usar las últimas versiones de woofce desde que estas son las distros oficialmente probadas, sin embargo, puedes usar cualquier distro si cumple TODAS las dependencias (reportar problemas) ...
  - Si está utilizando otras distribuciones, asegúrese de que /bin/sh apunte a /bin/bash
  - Hay planes para hacer que el sistema de construcción funcione en otras distros pero esto llevará algún tiempo.

3. Elija una distro-compatible.
Esta es la distro cuyos paquetes vas a "pedir prestado" para construir tu Puppy.

Abra el archivo DISTRO_SPECS en un editor de texto y cambie esta línea:
DISTRO_BINARY_COMPAT = "ubuntu" a lo que quieres: 'slackware', 'devuan', 'ubuntu', 'debian' o 'puppy'.
Bueno llegaré hasta aqui, osea que debo ir a la pagina de github descargarme algun release o clonar el repositorio, cumplir con los requisitos y correr esos comandos, en teoria, aunque debo esperar un tiempo para poder hacer eso ( depende de mi isp ) ya que supongo que voy a necesitar una velocidad de navegacion modesta para hacerlo, de todos modos si se animan a seguir traduciendo y detallando que sucede en otras palabras documentar con experiencias, imagenes o cualquier aporte sera de mucha utilidad a otros.

Me nacen algunas preguntas por ejemplo.
1-Puedo hacerlo desde una liveusb, livecd de un puppy contruido con woof-ce?
2-Que velocidad de descarga es la adecuada? ya que eso de 'prestar' de otra distro y por el tamaño del requerimiento minimo parace que va a descargar bastantes megas
3-Puedo usar un liveusb y crear una particion de unos 20 giga en un disco duro externo para tal labor?
4-Necesito tener conocimientos nivel-experto en programacion para construir un puppy por si necesito 'parchar' algun script?
5-En que momento agrego o quito cosas como mi navegador predeterminado o mi editor de texto o saco la seccion completa de juegos?
por el momento son mas preguntas que respuestas
hasta entonces...
[b][url=http://nilsonmorales.blogspot.com/]My blog |[/url][/b][b][url=https://github.com/woofshahenzup]| Github[/url][/b]
[img]https://i.postimg.cc/5tz5vrrX/imag018la6.gif[/img]
[img]http://s5.postimg.org/7h2fid8pz/botones_logos3.png[/img]

User avatar
agubena77
Posts: 20
Joined: Wed 15 Feb 2017, 23:41

woof-ce

#2 Post by agubena77 »

Hola Nilson, yo con la poca experiencia que tengo en woof-ce lo único que te puedo decir es que no puedes construir un cachorro en una partición que no esa la partición del sistema(o por lo menos la partición root). Ya probé a construirlo en un disco distinto al que tenía el sistema y no me dejó. Un saludo.

User avatar
nilsonmorales
Posts: 972
Joined: Fri 15 Apr 2011, 14:39
Location: El Salvador

#3 Post by nilsonmorales »

Hola, podrias mandarme la salida del error que decia la terminal por favor, o la imagen, quiero agregar otra pregunta.
Como puedo elegir el kernel que puedo utilizar para contruir con woof?
Poco a poco se iran respondiendo las inquietudes para poder hacer una valoracion final.
[b][url=http://nilsonmorales.blogspot.com/]My blog |[/url][/b][b][url=https://github.com/woofshahenzup]| Github[/url][/b]
[img]https://i.postimg.cc/5tz5vrrX/imag018la6.gif[/img]
[img]http://s5.postimg.org/7h2fid8pz/botones_logos3.png[/img]


User avatar
nilsonmorales
Posts: 972
Joined: Fri 15 Apr 2011, 14:39
Location: El Salvador

#5 Post by nilsonmorales »

Agubena77
veo 2 cosas
1- `git command not found`, tienes instalado el paquete git? si no yo tengo uno viejo pero aun funcional supongo
https://my.pcloud.com/publink/show?code ... TiXXn6k5vV
2-Tienes que arreglar la linea en PKGS_SPECS_TABLE slackware-14.2 por algo como 14.2-salix o similar

Me podrias explicar como has hecho y con que otros errores te has topado.
bajaste un release o clonaste el repositorio?
[b][url=http://nilsonmorales.blogspot.com/]My blog |[/url][/b][b][url=https://github.com/woofshahenzup]| Github[/url][/b]
[img]https://i.postimg.cc/5tz5vrrX/imag018la6.gif[/img]
[img]http://s5.postimg.org/7h2fid8pz/botones_logos3.png[/img]

User avatar
agubena77
Posts: 20
Joined: Wed 15 Feb 2017, 23:41

#6 Post by agubena77 »

Me encontré algún que otro error más, pero así a la cabeza el único más importante que recuerdo es el de modificar la lista de paquetes cuando estas creando el cachorro desde el script ./woof_gui y obtener un error en los paquetes seleccionados. Poco más creo recordar. Por otra parte probé las dos opciones y obtuve el mismo resultado tanto clonando el repositorio de git como bajando el paquete. En cuanto al fallo "PKGS_SPECS_TABLE" es uno de los que comenté anteriormente por intentar crear el cachorro en una partición distinta a la del sistema. Aquí te dejo algo que espero te sea de ayuda. https://1drv.ms/f/s!AkRna7_QswjLjco76ZJmO-9BAWpRRQ

User avatar
josejp2424
Posts: 556
Joined: Sun 01 Aug 2010, 22:35
Contact:

Re: woof-ce

#7 Post by josejp2424 »

agubena77 wrote:Hola Nilson, yo con la poca experiencia que tengo en woof-ce lo único que te puedo decir es que no puedes construir un cachorro en una partición que no esa la partición del sistema(o por lo menos la partición root). Ya probé a construirlo en un disco distinto al que tenía el sistema y no me dejó. Un saludo.
se puede construir en una particion distinta, mientras sea linux ext3 o ext4.

User avatar
agubena77
Posts: 20
Joined: Wed 15 Feb 2017, 23:41

#8 Post by agubena77 »

Probaste a hacerlo? cual fue el resultado?

User avatar
josejp2424
Posts: 556
Joined: Sun 01 Aug 2010, 22:35
Contact:

resultado

#9 Post by josejp2424 »

agubena77 wrote:Probaste a hacerlo? cual fue el resultado?
.

2 mascotas creadas con woof-ce la ultima fue pupjibaro jessie.
https://sourceforge.net/projects/pupjessie/ .

el unico problema fue con xorg.

User avatar
josejp2424
Posts: 556
Joined: Sun 01 Aug 2010, 22:35
Contact:

particion

#10 Post by josejp2424 »

Tiene que ser una partición ext3 o 4 , de 10gigas libres.

Deberías tener el devx cargado también.

cuando cree el jessie. use esta configuración.

https://sourceforge.net/projects/pupjes ... ro.tar.bz2 .

el archivo lo descomprimes y lo guardas en la carpeta woof-ce.

enmi caso.

Code: Select all

 /woof-CE-testing/woof-distro/x86
.

ejecutas el script que esta en woof-ce ,

Code: Select all

merge2out
.

te dira si quieres arm x86 o x86_64 .
yo seleccione x86.

Image.

después base a que distro quieres crear tu puppy. yo seleccione debian.

Image.

y después seleccionas la carpeta jessie, que es la del archivo que envié.

Image.

dan 2 veces enter y creara una carpeta jessie nueva dentro del woof-ce. con todo los script para ir creando la iso.

User avatar
agubena77
Posts: 20
Joined: Wed 15 Feb 2017, 23:41

#11 Post by agubena77 »

Hola Jose, así es como yo creé mi cachorro desde woof-ce con ./merge2out y después entro en el nuevo directorio que crea y ejecuto los 4 scripts o entro en el modo gráfico con ./woof_gui. El problema que yo e tenido es que intenté crearlo en otra partición y me dio algunos errores, pero como ya mencionaste tu y Nilson a de ser en una partición ext3 o ext4 cosa que yo no sabía y mi partición era ntfs. Ahora ya me quedó claro ese tema de la partición. Un saludo Para ti y para el amigo Nilson.

User avatar
nilsonmorales
Posts: 972
Joined: Fri 15 Apr 2011, 14:39
Location: El Salvador

#12 Post by nilsonmorales »

Bueno este dia he empezado una prueba, aunque voy a tratar de hacerlo de forma atipica asi que partire de este escenario.
1- usare una usb de arranque con puppy tahrpup

Code: Select all

root# uname -a
Linux puppypc19043 3.14.79 #1 SMP PREEMPT Tue Dec 13 19:32:40 GMT 2016 i686 i686 i686 GNU/Linu
2-Usare una Pc modesta p4 con un poco mas de 1 giga de ram
Processor Intel(R) Pentium(R) 4 CPU 2.80GHz
Memory 1017MB (333MB used)
Machine Type Physical machine
Operating System tahrpup - 6.0.6
User Name root(root)
3-Usare un disco duro sata de 60 gigas en un enclousure formateado en ext4 donde voy a clonar el repo de woof-ce
4-Como estoy en modo ram he tenido que descargar el paquete git y liviconv y configurar mi cuenta de github para poder descargar el repositorio desde la terminal en la particion del disco de 60

Code: Select all

root# git clone https://github.com/puppylinux-woof-CE/woof-CE
Cloning into 'woof-CE'...
remote: Counting objects: 45852, done.
remote: Compressing objects: 100% (200/200), done.
remote: Total 45852 (delta 150), reused 162 (delta 72), pack-reused 45571
Receiving objects: 100% (45852/45852), 38.06 MiB | 252.00 KiB/s, done.
Resolving deltas: 100% (28621/28621), done.
Checking connectivity... done
El motivo de clonar el repositorio es para tener los ultimos cambios por si el archivo release no estuviese actualizado
Bien ahora veo un solo directorio en el disco, usare la terminal para llegar al disco y ejecutar el script merge2out como dice el readme

Code: Select all

root# cd /mnt/sdc1/woof-CE/
root# ./merge2out
Ok lo primero que dice es que elija la arquitectura, logicamente quiero empezar con algo facil asi que usare x86

Code: Select all

root# ./merge2out 

This script merges woof-arch, woof-code
woof-distro, kernel-kit and initrd-progs to ../woof-out_*.
See README

-----------------
Host arch: x86     (The host is the machine you are running Woof on)
-----------------

Please choose the target target architecture.. (the target 
is the machine in which the Puppy that you build is going to run):

1  arm
2  x86
3  x86_64
Type number of target architecture:

Ahora dice que elija la distro compatible, usare ubuntu

Code: Select all

...ok, x86

Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro".

1  debian
2  devuan
3  slackware
4  trisquel
5  ubuntu
Type number of compat-distro: 5
Ahora la version de ubuntu usare trusty

Code: Select all

...ok, ubuntu

The compat-distro usually has release versions
Choose which release you want to obtain the binary packages from.

1  trusty
2  xenial
Type number of release: 1
Luego me dice que verifique mis opciones y que si todo esta bien que continue presionando ENTER

Code: Select all

...ok, trusty

Choices:
Host architecture:     x86
Target architecture:   x86
Compatible-distro:     ubuntu
Compat-distro version: trusty

If these are ok, press ENTER, other CTRL-C to quit:
Mas verificaciones.....

Code: Select all

Directory '../woof-out_x86_x86_ubuntu_trusty'
will now be created, if not already, and the contents of 'woof-code' copied
into it. Then, these will also be copied into it:
woof-arch/x86/build
woof-arch/x86/target
woof-distro/x86/ubuntu/trusty (files all levels)

Any existing files in '../woof-out_x86_x86_ubuntu_trusty' will be over-ridden.
(Also, all files in folders 'boot', 'kernel-skeleton',
 'packages-templates', 'rootfs-skeleton', 'rootfs-packages', 'support',
 'kernel-kit' and 'initrd-progs' will be deleted.)

Press ENTER to continue:
Copió algunas cosas y luego el script finalizo su trabajo

Code: Select all

Copying woof-code/*...
Copying woof-arch/x86/build/*...
Copying woof-arch/x86/target/*
Copying kernel-kit, initrd-progs...
Copying woof-distro/ubuntu/trusty/*...

Undoing VCS-friendly stuff...
Fixing file/dir permissions/ownership...
Directory '../woof-out_x86_x86_ubuntu_trusty'
is now normal (the workarounds have been removed). Note,
../local-repositories has been created (if not already),
to be used as a common binary package download place.
Empieza a llover asi que guardaré esto por aqui y editare despues.
El script merge2out parace que finalizo asi que leyendo el readme lo siguiente es ir al directorio que creó

Code: Select all

root# cd ../woof-out_x86_x86_ubuntu_trusty/
Como un dato ahora en el disco de 60gb veo 3 directorios woof-ce, local-repositories y woof-out_x86......
Entonces debo entender que lo que sigue es: ir al directorio woof-out-blabla y continuar ejecutando los scripts de construccion de puppy, aun no he editado nada, supongo que despues me topare con ese error o aviso.
./0setup
./1download
./2createpackages
./3builddistro
Viendo en ese directorio tambien hay un woof-gui script que leo que es una interfaz que hace lo mismo pero en desarrollo asi que usare directamente los scripts
Con el primer script empezo a descargar muchas cosas
El script termino pero veo que mi archivo de session se esta llenando ( quizas por algo que queda en /tmp) veo un mensaje al finalizar el script 0 que dice.

Code: Select all

./0setup: fork: Cannot allocate memory
No se si sea un error, veré hasta donde llego
Ejecuto el script 1 y empieza a descargar muchas librerias, algo que quiero agregar es que aun no he cargado los devx ni editado ningun archivo para ver hasta donde llega woof-ce sin avisarme .

Me aparecio una ventana que dice 1download control panel que me dice que si quiero pausar, continuar o salir, por el momento, el script se sigue ejecutando y descargando paquetes voy a cerrar la ventana.
Despues de 10 minutos aun sigue bajando
Las cosas empezaron a ponerse lentas si quieres navegar o chatear mientras haces eso asi que mejor dejalo para luego, vuelvo cuando termine de descargar todo.
Un poco mas de media hora el script dice
Script finished.
ahora vamos a lo siguiente

Code: Select all

root# ./2createpackages 

Exiting from support/findpkgs, already created up-to-date pkg list:
 /mnt/sdc1/woof-out_x86_x86_ubuntu_trusty/status/findpkgs_FINAL_PKGS-ubuntu-trusty


Press ENTER only to build all pkgs,
 or type generic name of one pkg: 
Y comienza a procesar todo y termino con esta advertencia
Script finished.
WARNING: Errors were logged to file ERROR-2CREATEPACKAGES
Muchos paquetes no encontrados, pero seguire ejecutando los scripts

Code: Select all

root# ./3builddistro-Z 

Do you want to create a live-CD .iso file, which is the normal choice for a
PC-compatible target, or is your target an SD-card for an ARM-based board?
In the latter case, you would already have downloaded an SD-card skeleton image
file into folder 'sd-skeleton-images' (done by script '1download') -- if there
is no image file in that folder, you cannot choose the SD-card option.
WARNING: for the SD-card option, you must have enough free space in the
current directory /mnt/sdc1/woof-out_x86_x86_ubuntu_trusty/sandbox3
to expand the SD image file, typically 4GB.
Press ENTER only for normal .iso creation, or 
any other printable character for SD-card
Ok ahora me quedo esperando a ver que pasa

Code: Select all

Now building sandbox3/rootfs-complete, with the complete filesystem...

If you know what packages you want included from rootfs-packages
you can bypass the checkbox GUI by renaming 

'support/rootfs-packages.conf-backup'

to

'support/rootfs-packages.conf'

and edit it to include your customised package list.

You can CTRL-C out of this script and try it right now if you wish
or hit Enter/Return to continue.
Me aparecio una ventana donde dice que debo elegir paquetes extra si quiero, elegire algunos.
Me salio un mensaje de alerta que reinicie servidor X para inicializar listDD no se que signifique eso. solo le di ok sin hacer nada y continua.
Ahora me dice que eiija entre 29 opciones el kernel que desee usar, no se probare con el 26 huge-4.9.13-xenial_noPAE.tar.bz2 y empieza a descargar, mejor me preparo un cafe y regreso
[b][url=http://nilsonmorales.blogspot.com/]My blog |[/url][/b][b][url=https://github.com/woofshahenzup]| Github[/url][/b]
[img]https://i.postimg.cc/5tz5vrrX/imag018la6.gif[/img]
[img]http://s5.postimg.org/7h2fid8pz/botones_logos3.png[/img]

Post Reply