Lukas Antunes Lopes - 117856
Vitor Rocha dos Santos - 118941
GitHub https://github.com/lukaslopes/mc504
O driver: Nosso projeto desenvolve um driver que armazena uma senha em forma de hash. Para essa aplicação existem várias possibilidades, como proteção de acesso á um pendrive por senha, por exemplo. Uma senha deve ser passada ao driver, que transforma essa senha em hash e a mantém.
Instruções:
-Rodar os seguintes comandos para compilar em 32bits: export CFLAGS=-m32 export LDFLAGS=-m32
-
Na pasta do que contém o kernel do linux, crie uma pasta "myhash" em linux-3.17.2/drivers
-
Copie os arquivos "hash_ioctl.c", "hash_app.c", "hash_ioctl.h" e "Makefile" para a pasta myhash
-
Altere o arquivo Makefile na linha KERNEL_SOURCE := {{ Coloque aqui o diretoroo da pasta linux-3.17.2}}
-
Faça "$ make" nessa pasta.
-
altere o Makefile do diretório drivers acrescentando a linha obj-y += ofd/
-
execute make no diretório linux-3.17.2 que é a raiz dos fontes do kernel. $ make -j 5 ARCH=i386
-
Precisaremos incluir os arquivos .ko no ambiente do QEMU. Para isso, criaremos um novo sistema de arquivos ext2 com os seguintes comandos: $ dd if=/dev/zero of=drivers.img bs=4k count=20 $ mkfs.ext2 drivers.img
-
Depois, vamos copiar os arquivos .ko e o app de teste na imagem drivers.img com o debugfs. $ debugfs -w drivers.img debugfs: write linux-3.17.2/drivers/myhash/hash_ioctl.ko hash_ioctl.ko debugfs: write linux-3.17.2/drivers/myhash/hash_app hash_app
-No próximo teste com o QEMU, teremos de acrescentar esta imagem como um novo disco: $ qemu-system-i386 -hda mc504.img -kernel linux-3.14.4/arch/i386/boot/bzImage -append "ro root=/dev/hda" -hdb drivers.img
-
No QEMU, a imagem drivers.img deverá ser montada com o seguinte comando: $ mkdir drivers $ mount -t ext2 /dev/hdb drivers/
-
Agora está tudo certo para rodar o programa teste do driver
-
Acesse a pasta /drivers e execute $ ./hash_app -g
Os comandos disponives são -s: inserir senha -e : remover senha -g : consultar hash da senha -c : acertar a senha