Autor
|
Tema: Construir controlador Linux para un programa (Leído 7,396 veces)
|
Hason
Desconectado
Mensajes: 787
Keep calm and use the spiritual force
|
Hola, estoy intentando instalar un programa en linux, pero me dice que entre otras muchas cosas, que tengo que construir un controlador para linux de la siguiente forma:
o #> cd source/drivers/linux o #> make
El resultado del primero:
k@y:~$ cd source/drivers/linux bash: cd: source/drivers/linux: No such file or directory
¿Me falta algo, datos, estoy haciendolo mal??
El make ya no lo hago por que no funciona.
Luego hay que cargar el driver:
o #> cd source/drivers/linux o #> sudo bash run.sh
Pero me estoy mirando dos manuales, difieren un poco, en otro manual me viene con más comandos para hacer esto, supongo que abrá diversas formas de hacerlo , no lo se. Ha lo de cargar el driver, y finalmente iniciar el programa, no lo he hecho por que no puedo construir el controlador, pero hasta ese punto lo he hecho todo según el manual. Por favor ayuda. Si es menester, puedo poner el manual. Un saludo.
|
|
|
En línea
|
|
|
|
sodark
|
Has mirado que directorios tienes dentro de source? Si encuentras un archivo makefile ahi, quiza tengas que hacer el make en la ruta que te indica.
Obviamente si pides ayuda es necesario que des toda la informacion posible porque sin saber que programa es, sin saber que tutoriales estas siguiendo , no sabemos nada, mas que hay una carpeta llamada sources que deberia contener una llamada drivers y dentro de esta una llamada linux y que luego tnedrias que hacer el make y no te funciona.
|
|
|
En línea
|
|
|
|
MinusFour
|
El error es bastante simple, dice que no existe esa carpeta. ¿Si te has bajado este controlador y descomprimido dicho archivo verdad? Te recomiendo que lo descomprimas en una carpeta que no sea el home (pero si lo quieres hacer adelante). Los comandos no te construyen nada así del aire, necesitas el código fuente.
|
|
|
En línea
|
|
|
|
Hason
Desconectado
Mensajes: 787
Keep calm and use the spiritual force
|
Hola gracias por responder. Estoy intentando instalar el programa chipsec en linux, he clonado el repositorio del programa por terminal de la página github. Mira estoy haciendo lo que pone en el manual del programa para instalarlo en linux, que me parece más fácil que en windows ( que también estoy mirandolo) El manual está aquí: https://github.com/chipsec/chipsec/blob/master/chipsec-manual.pdfY luego también lo miraba aquí: https://translate.googleusercontent.com/translate_c?depth=1&hl=es&prev=search&rurl=translate.google.es&sl=en&u=https://github.com/chipsec/chipsec/wiki/Installing-CHIPSEC-in-Linux&usg=ALkJrhhnBkTQXhdUjHMZl11ctefg_uwlOQPero lo tengo echo todo según el manual para linux hasta que pide clonar el repositorio de github del programa chipset, se me copia en la terminal y el siguiente paso es construir el controlador y lo siguiente que viene. Si no es mucha molestia y no es muy complicado, podriais aclararme exactamente como hacerlo y poder correr este programa en linux??en principio, según parece, solo me queda construir el controlador, cargarlo e iniciar el programa, creo estoy cerca, luego lo que venga. El otro enlace va más encaminado a crear un usb live con una distribución linux con el programa chipsec, no me importa hacerlo con lo que sea, pero bueno, ahora estoy intentando instalarlo en una distribución linux, el caine 64 bits. Un saludo.
|
|
|
En línea
|
|
|
|
MinusFour
|
Tuviste que haberte cambiado al repositorio: cd chipsec
El comando ahí funciona. Tambien puedes moverte directamente a chipsec/source/drivers/linux.
|
|
|
En línea
|
|
|
|
Hason
Desconectado
Mensajes: 787
Keep calm and use the spiritual force
|
Ole , muchas gracias MinusFour, he conseguido hacerlo, pero ahora da error cuando hago make creo, al final, dice algo de no se ha podido cargar el módulo, y luego no me inicia el programa con los comandos del manual, mira: k@y:~$ cd chipsec k@y:~/chipsec$ cd source/drivers/linux k@y:~/chipsec/source/drivers/linux$ make rm -f *.o *.ko *.mod.c Module.symvers Module.markers modules.order \.*.o.cmd \.*.ko.cmd \.*.o.d rm -rf \.tmp_versions rm -rf amd64/cpu.o i386/cpu.o cd ../../tool/chipsec/helper/linux; make clean make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux' rm -f *.o *.so make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux' echo
echo chipsec.o chipsec.o echo chipsec_km.o amd64/cpu.o chipsec_km.o amd64/cpu.o nasm -f elf64 -o amd64/cpu.o amd64/cpu.asm; make -C /lib/modules/`uname -r`/build SUBDIRS=`pwd` modules make[1]: Entering directory `/usr/src/linux-headers-3.13.0-36-generic' CC [M] /home/k/chipsec/source/drivers/linux/chipsec_km.o LD [M] /home/k/chipsec/source/drivers/linux/chipsec.o Building modules, stage 2. MODPOST 1 modules WARNING: could not find /home/k/chipsec/source/drivers/linux/amd64/.cpu.o.cmd for /home/k/chipsec/source/drivers/linux/amd64/cpu.o CC /home/k/chipsec/source/drivers/linux/chipsec.mod.o LD [M] /home/k/chipsec/source/drivers/linux/chipsec.ko make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-36-generic' cd ../../tool/chipsec/helper/linux; make make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux' cc -I/usr/include/python2.7 -c -fPIC cores.c -o cores.o cc cores.o -shared -o cores.so make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux' k@y:~/chipsec/source/drivers/linux$ chmod 755 run.sh k@y:~/chipsec/source/drivers/linux$ sudo ./run.sh !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Chipsec should only be used on test systems! It should not be installed/deployed on production end-user systems.
There are multiple reasons for that:
1. Chipsec kernel drivers provide direct access to hardware resources to user-mode applications (for example, access to physical memory). When installed on production systems this could allow malware to access privileged hardware resources.
2. The driver is distributed as source code. In order to load it on Operating System which requires kernel drivers to be signed (for example, 64 bit versions of Microsoft Windows 7 and higher), it is necessary to enable TestSigning (or equivalent) mode and sign the driver executable with test signature. Enabling TestSigning (or equivalent) mode turns off an important OS kernel protection and should not be done on production systems.
3. Due to the nature of access to hardware, if any chipsec module issues incorrect access to hardware resources, Operating System can hang or panic. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Module: insmod chipsec.ko a1=0xffffffff8106e0b0 a2=0xffffffff81605ad0 a3=0xffffffff81605b40 : OK Device: /dev/chipsec k@y:~/chipsec/source/drivers/linux$ sudo make install ./run.sh !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Chipsec should only be used on test systems! It should not be installed/deployed on production end-user systems.
There are multiple reasons for that:
1. Chipsec kernel drivers provide direct access to hardware resources to user-mode applications (for example, access to physical memory). When installed on production systems this could allow malware to access privileged hardware resources.
2. The driver is distributed as source code. In order to load it on Operating System which requires kernel drivers to be signed (for example, 64 bit versions of Microsoft Windows 7 and higher), it is necessary to enable TestSigning (or equivalent) mode and sign the driver executable with test signature. Enabling TestSigning (or equivalent) mode turns off an important OS kernel protection and should not be done on production systems.
3. Due to the nature of access to hardware, if any chipsec module issues incorrect access to hardware resources, Operating System can hang or panic. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Module: insmod chipsec.ko a1=0xffffffff8106e0b0 a2=0xffffffff81605ad0 a3=0xffffffff81605b40 : insmod: ERROR: could not insert module chipsec.ko: File exists make: *** [install] Error 1
Y bueno, luego al intentar iniciar el programa , no va claro, dice: k@y:~/chipsec/source/drivers/linux$ cd source/tool sudo python chipsec_main.py bash: cd: source/tool: No such file or directory k@y:~/chipsec/source/drivers/linux$ sudo python chipsec_util.py python: can't open file 'chipsec_util.py': [Errno 2] No such file or directory
Bueno, no se si he hecho algo mal o que pasa, creo que he seguido todo el manual, ojala sea alguna tonteria, volveré a repetir desde 0 otra vez otro día. A todo esto lo he intentado con sudo make pero tampoco dice: k@y:~/chipsec/source/drivers/linux$ sudo make rm -f *.o *.ko *.mod.c Module.symvers Module.markers modules.order \.*.o.cmd \.*.ko.cmd \.*.o.d rm -rf \.tmp_versions rm -rf amd64/cpu.o i386/cpu.o cd ../../tool/chipsec/helper/linux; make clean make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux' rm -f *.o *.so make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux' echo
echo chipsec.o chipsec.o echo chipsec_km.o amd64/cpu.o chipsec_km.o amd64/cpu.o nasm -f elf64 -o amd64/cpu.o amd64/cpu.asm; make -C /lib/modules/`uname -r`/build SUBDIRS=`pwd` modules make[1]: Entering directory `/usr/src/linux-headers-3.13.0-36-generic' CC [M] /home/k/chipsec/source/drivers/linux/chipsec_km.o LD [M] /home/k/chipsec/source/drivers/linux/chipsec.o Building modules, stage 2. MODPOST 1 modules WARNING: could not find /home/k/chipsec/source/drivers/linux/amd64/.cpu.o.cmd for /home/k/chipsec/source/drivers/linux/amd64/cpu.o CC /home/k/chipsec/source/drivers/linux/chipsec.mod.o LD [M] /home/k/chipsec/source/drivers/linux/chipsec.ko make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-36-generic' cd ../../tool/chipsec/helper/linux; make make[1]: Entering directory `/home/k/chipsec/source/tool/chipsec/helper/linux' cc -I/usr/include/python2.7 -c -fPIC cores.c -o cores.o cc cores.o -shared -o cores.so make[1]: Leaving directory `/home/k/chipsec/source/tool/chipsec/helper/linux' k@y:~/chipsec/source/drivers/linux$ cd source/tool sudo python chipsec_main.py bash: cd: source/tool: No such file or directory k@y:~/chipsec/source/drivers/linux$
Muchas gracias, un saludo.
|
|
|
En línea
|
|
|
|
MinusFour
|
A mi parecer el run.sh hace lo mismo que el make install. Posiblemente make install corra el run.sh, no estoy seguro. Al termino de el run.sh, se inyecta el modulo así que ya lo tienes corriendo ahí. Fija bien lo que has hecho: k@y:~/chipsec/source/drivers/linux$ cd source/tool sudo python chipsec_main.py Si te das cuenta, esto tiene 0 sentido. Es más que obvio que te tienes que mover a ~/chipsec/source/tool y de ahí correr el script de python. Porfavor reflexiona los comandos que estás poniendo en tu consola, estos comandos son de lo más básico... (cambios de directorios y correr comandos con sudo).
|
|
|
En línea
|
|
|
|
Hason
Desconectado
Mensajes: 787
Keep calm and use the spiritual force
|
Muchas gracias por la ayuda. Desconozco muchas cosas básicas, lo siento. He empezado con cambiarme a cd ~/chipsec/source/tool he vuelto a cargar el módulo con sudo bash run.sh y luego me he dispuesto a iniciar el programa, que creo que ahora está bien, pero mira que dice: k@y:~$ cd ~/chipsec/source/tool k@y:~/chipsec/source/tool$ sudo python chipsec_main.py
****** Chipsec Linux Kernel module is licensed under GPL 2.0
################################################################ ## ## ## CHIPSEC: Platform Hardware Security Assessment Framework ## ## ## ################################################################ [CHIPSEC] Version 1.2.2 [CHIPSEC] Arguments:
****** Chipsec Linux Kernel module is licensed under GPL 2.0
ERROR: Unsupported Platform: VID = 0x1022, DID = 0x1566 ERROR: Platform is not supported (Unsupported Platform: VID = 0x1022, DID = 0x1566). ERROR: To run anyways please use -i command-line option
Haber si no me equivoco, creo que no funciona por utilizar una distribución linux no compatible o por que? Si es lo anterior , entiendo que tendré que hacerlo desde una distribución soportada , según el manual, tiene que ser linux 32 bits, o Fedora 64 bits , y ahora mismo estoy con caine 6.0, que es un ubuntu 64 bits y alomejor es por eso que no funciona. Voy a intentar a hacerlo con un usb bootable y un linux ubuntu 32bits, y si no instalare en el disco duro un ubuntu 32 bits o el fedora 64 bits. Bueno, aparentemente, creo que el programa arrancaba. Dice :To run anyways please use -i command-line option ; no entiendo como usar este -i command. Muchas gracias, he avanzado mucho con esto gracias a ti MinusFour, haber si lo consigo del todo, y bueno después ir entendiendo algo el programa poco a poco. Un saludo.
|
|
|
En línea
|
|
|
|
MinusFour
|
Si lees los problemas que tiene el proyecto: https://github.com/chipsec/chipsec/issues/15Dice que la lista de dispositivos no está actualizada. La ID de tu dispositivo no figura en su lista (Creo que VID es Vendor ID y DID es Device ID). No tienen soporte para tu dispositivo básicamente. Dice ahí que lo puedes correr con -i, pero si no lo soporta quien sabe que hará: sudo python chipsec_main.py -i
|
|
|
En línea
|
|
|
|
Hason
Desconectado
Mensajes: 787
Keep calm and use the spiritual force
|
Bueno, entonces no puedo iniciarlo, sale todo de errores en rojo. Puedo probar con otro sistema operativo, o con otro pc, o con un usb live. No se si modificando el archivo de configuración podría iniciarse. Estoy tratando de instalar fedora y hacerlo, y bueno supongo que con ubuntu 32 bits última versión también funcionaria o ni idea, ya lo sabré. ¿Alguna sugerencia? Muchas gracias. Un saludo. El código error al correr el programa: k@y:~/chipsec/source/tool$ sudo python chipsec_main.py -i [*] Ignoring unsupported platform warning and continue execution
****** Chipsec Linux Kernel module is licensed under GPL 2.0
ERROR: Unable to open chipsec device. Did you run as root/sudo and load the driver? [Errno 2] No such file or directory: '/dev/chipsec' chipsec.helper.linux.helper [-] Traceback (most recent call last): File "/home/k/chipsec/source/tool/chipsec/helper/oshelper.py", line 136, in importModule result = getattr( mHelper, 'get_helper' )( ) File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 765, in get_helper return LinuxHelper() File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 86, in __init__ self.init() File "/home/k/chipsec/source/tool/chipsec/helper/linux/helper.py", line 129, in init raise OsHelperError("Unable to open chipsec device. Did you run as root/sudo and load the driver?\n %s"%str(e),e.errno) OsHelperError: Unable to open chipsec device. Did you run as root/sudo and load the driver? [Errno 2] No such file or directory: '/dev/chipsec'
ERROR: Could not load helper for 'Linux' environment (unsupported environment?)
|
|
|
En línea
|
|
|
|
|
|