qemu-system-i386 -hda linux-0.2.img
$ cp /home/staff/islene/public_html/mc504-linux.tar.xz .
$ tar xJvf mc504-linux.tar.xzSurgirá um diretório contendo a versão 3.14.4 do kernel Linux compilada com o arquivo de configuração config-3.14.4 e uma imagem mc504.img que foi criada por Glauber de Oliveira Costa para a turma do 1s2008 de sistemas operacionais.
qemu-system-i386 -hda mc504.img -kernel linux-3.14.4/arch/i386/boot/bzImage -append "ro root=/dev/hda"
usuário: root senha: root
Devemos mover o diretório ofd para linux-3.14.4/drivers e alterar o Makefile do diretório drivers acrescentando a linha
obj-y += ofd/A seguir, você deverá deverá executar make no diretório linux-3.14.4 que é a raiz dos fontes do kernel. Se estiver rodando nas máquinas do IC, para não ter problemas com a quota, configure o diretório CCACHE utilizando o comando abaixo antes do make:
$ export CCACHE_DIR="/tmp/.ccache"export CCACHE_DIR="/tmp/.ccache" $ 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.imgDepois, vamos copiar os arquivos .ko na imagem drivers.img com o debugfs.
$ debugfs -w drivers.img debugfs: write linux-3.14.4/drivers/ofd/ofd.ko ofd.ko debugfs: write linux-3.14.4/drivers/ofd/ofcd.ko ofcd.ko debugfs: write linux-3.14.4/drivers/ofd/ofcd-null.ko ofcd-null.koNo 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.imgNo QEMU, a imagem drivers.img deverá ser montada com o seguinte comando:
$ mkdir drivers $ mount -t ext2 /dev/hdb drivers/
$ insmod drivers/ofd.ko $ lsmod ... $ rmmod drivers/ofd.ko $ dmesg | grep ofd
$ insmod drivers/ofcd.ko $ lsmod ... $ dmesg | tail $ cat /proc/devices ... 252 ofcdÉ possível criar as entradas em /dev explicitamente:
$ mknod /dev/ofcd0 c 252 0 $ mknod /dev/ofcd1 c 252 1 $ mknod /dev/ofcd2 c 252 2 $ ls /devNo entanto, ainda não conseguimos utilizar estes arquivos.
$ cat /dev/ofcd0
$ insmod drivers/ofcd-null.ko $ ls /dev/ $ cat /dev/ofcd-null $ echo "teste" > /dev/ofcd-null
Ao alterar um dos drivers, vocé deve reexecutar make no diretório linux-3.14.4.