Este projeto é uma maneira de criar um ambiente de desenvolvimento do kernel Linux de maneira rápida e fácil, sem usar ferramentas como o Qemu ou a criação de uma cadeia de ferramentas e a compilação cruzada. Isso é feito construindo um kernel a partir do pacote fornecido pelo Debian e usando-o com a distribuição Debian.
O projeto também inclui Khack , um utilitário para tirar algumas suposições do processo de invadir o kernel, além de servir como um guia para os recém -chegados, como uma alternativa para ler muito material on -line e tentar aprender por tentativa e erro.
vagrant plugin install vagrant-vbguest ). vagrant up onde clonou o repositório (onde está Vagrantfile ) para criar uma nova VM brilhante com tudo o que você precisa.
Isso vai demorar um pouco.
Depois de terminar, execute vagrant ssh para entrar na máquina e a partir daí, dependendo do seu nível de familiaridade com o desenvolvimento do kernel:
khack para uma explicação do que você pode fazer aqui (WIP),khack --help para uma lista de scripts úteis,Ou apenas ignore Khack completamente e faça suas próprias coisas.
Dentro do diretório doméstico da VM, haverá:
linux-source : Fontes do kernel Linux prontas para serem compiladas com a configuração mínima do linux-config .khack : The Khack Utility.module : código do andaime para um módulo de kernel.linux-config : configurações de kernel pré-fabricadas.system-config : arquivos de configuração para diferentes programas relacionados ao sistema, geralmente não há necessidade de tocar isso.boot-backup : um backup de /boot , apenas por precaução. khack , module e linux-config são configurados para serem compartilhados com o sistema operacional host, para que você possa usar seu editor favorito para editar arquivos neles.
Para editar a fonte do kernel, veja abaixo. Todo o resto pode ser feito da maneira tradicional (compilar e instalar o kernel, etc.) ou usar o Khack por conveniência.
Revelamos a fonte via SMB/CIFS, para evitar problemas com a construção do kernel em um diretório compartilhado da VirtualBox. Para montar:
Via terminal:
sudo apt install cifs-utils
sudo mount -t cifs //localhost/kernel-source WHERE_TO_MOUNT -o port=10139,username=vagrant,password=vagrant,uid=$USER,gid=$USER
Via Nautilus:
smb://vagrant:vagrant@localhost:10139/kernel-source/
Via terminal:
sudo mount -t smbfs '//vagrant:vagrant@localhost:10139/kernel-source' WHERE_TO_MOUNT
Via Finder:
Use Connect to Server (CMD+K) com o URL smb://vagrant:vagrant@localhost:10139/ .
Khack deve simplificar o hacking no kernel e ensinar os recém -chegados que os comandos realmente funcionam, você sabe, mostrando que eles realmente funcionam, salvando os alunos da frustração de tentar ajustar os encantamentos de um tutorial on -line escrito há dez anos.
Sua fonte está disponível no khack e pode ser usada como simplesmente khack dentro da VM, pois é simplificada no local certo (consulte setup_vm.sh ).
Por exemplo:
khack kernel make construirá o kernel em ~linux-source .khack kernel install instalará o kernel construído para que ele seja executado quando a VM for reiniciada.khack kernel running reportará se o kernel compilado mais recente estiver realmente em execução.Experimente e divirta -se,
Equipe KerNEltlv