Skip to content

lukaslopes/mc504

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MC 504 2s2014 - Device Driver

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

About

Trabalho de mc504 2s2014

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors