Estas aquiForos / Criptografía y sus aplicaciones / Foro DNI electrónico / Ayuda con un entorno chroot
Ayuda con un entorno chroot
Buenas o malas tardes, según se mire.
Me he comprado hace unos días un lector de estos c3po (que supuestamente funciona bajo linux y lee el dni electrónico).
Pues bien, tras lo obvio: Ver que las versiones que hay son más antiguas que las del arca de Noe y querer que me funcione con otras tarjetas (ahora que conseguí por fin configurar el lector en mi gentoo: Teniendo que desenmascarar la última versión de pscsc y opensc y varios rollos más) decidí bajarme todas las dichosas librerías antiguas (encontradas vía: rpmfind.net) y la última versión del proyecto opensc-ceres-bin-0.8.1-6.
Intenté meter las liberías propietarias que faltaban ya que el supuesto código fuente mezclado con código objeto no compila por malas prácticas de programación, si... y también probé con las versiones de gcc:
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-3.4.6
[3] i686-pc-linux-gnu-3.4.6-hardened
[4] i686-pc-linux-gnu-3.4.6-hardenednopie
[5] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[6] i686-pc-linux-gnu-3.4.6-hardenednossp
[7] i686-pc-linux-gnu-4.1.2 *
Pero, claro, hasta los binarios no dejan escoger vía parámetro una librería, hay que compilarlo con soporte para la librería del DNIe (cosa imposible) y quiero los binarios recientes (mas que nada porque los viejos estoy seguro que tampoco iban a funcionar).
Entonces dije: Vamos a la tremenda ¡chroot al poder!.
Bien, me copié mi propio bash y las librerías chorras para poder hacer ls y cd (otras veces lo tengo hecho con busybox pero hoy no me apetecía recomiplarlo, así que copié los binarios directamente).
Vale, copié los binarios de opensc (desempaqueté el paquete de ubuntu), busqué TODAS las librerías antiguas vía rpmfinder y aquello parece que funciona.
Monté con mount -o bind el dev, monté el proc también (el sys reconozco no saber como se monta) e intenté ejecutar de nuevo esos binarios.
Bien, ahora me dicen que no hay lectores (que no los encontró) sin embargo, en el sistema anfitrión los encuentra.
Pruebo a ejecutar el pcscd viejo en el chroot, me pide las librerías antiguas del USB y un archivo de configuración.
Pongo las librerías antiguas (que funcionan) y le meto el archivo de configuración que dan en el CD incluido con el lector.
NADA, no encuentra J@!$&$ÑAM@@@!!! lector.
¡AYUDA POR FAVOR! ¿que me he olvidado?
No se como van los temas de licencias, por si alguien quiere echarle un ojo al entorno chroot que he intentado preparar, pero si no hay ningún problema por la distribución de los binarios (yo sólo me he bajado binarios y además eran gratuitos), los subo a rapidshare o megaupload o un sitio de estos para que otros le podáis echar un ojo y a ver si entre todos conseguimos al menos un entorno chroot para poder usar el @@!!$$## DNIe sin tener que tener nuestro sistema echo unos zorros (ocupa unos 11MB descomprimido).
Gracias a todos los que hayan leído este tochopost.




El sys se suele montar con mount -t sysfs none /sys (cat /proc/mounts para más detalles). Para el chroot, se puede enlazar igual que el dev, con mount -o bind.