이 프로젝트는 QEMU와 같은 도구를 사용하거나 툴체인 및 교차 컴파일을 구축하지 않고 Linux 커널 개발 환경을 빠르고 쉽게 제기 할 수있는 방법입니다. 이것은 Debian-Supplied 패키지에서 커널을 구축하고 데비안 배포와 함께 사용하여 수행됩니다.
이 프로젝트에는 또한 Kernel의 해킹 과정에서 약간의 추측을 취하고 신규 이민자를위한 가이드 역할을하는 유틸리티 인 Khack 도 포함되어 있으며 온라인으로 많은 자료를 읽고 시행 착오로 배우려고 시도합니다.
vagrant plugin install vagrant-vbguest ). REPO를 복제 한 곳에서 vagrant up 실행하여 ( Vagrantfile 있는 곳) 필요한 모든 것을 가진 반짝이는 새로운 VM을 만듭니다.
시간이 걸릴 것입니다.
일단 완료되면 vagrant ssh 실행하여 커널 개발에 대한 친숙한 수준에 따라 기계로 들어가서 다음과 같습니다.
khack 실행하십시오 (WIP),khack --help 유용한 스크립트 목록을 위해 Help,또는 Khack을 완전히 무시하고 자신의 일을하십시오.
VM 홈 디렉토리 내부에는 다음이 있습니다.
linux-source : linux-config 의 최소 구성으로 컴파일 할 준비가 된 Linux 커널 소스.khack : Khack 유틸리티.module : 커널 모듈의 스캐 폴드 코드.linux-config : Pricade 커널 구성.system-config : 다른 시스템 관련 프로그램의 구성 파일은 일반적으로이를 터치 할 필요가 없습니다.boot-backup : 만일을 대비하여 /boot 의 백업. khack , module 및 linux-config 는 호스트 운영 체제와 공유되도록 설정되므로 좋아하는 편집기를 사용하여 파일을 편집 할 수 있습니다.
커널 소스를 편집하려면 아래를 참조하십시오. 다른 모든 것은 전통적인 방식 (커널을 컴파일하고 설치하는 등) 또는 편의를 위해 Khack을 사용하여 수행 할 수 있습니다.
가상 상자 공유 디렉토리에 커널을 구축하는 문제를 피하기 위해 SMB/CIFS를 통해 소스를 공개합니다. 마운트 :
터미널을 통해 :
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
노틸러스를 통해 :
smb://vagrant:vagrant@localhost:10139/kernel-source/
터미널을 통해 :
sudo mount -t smbfs '//vagrant:vagrant@localhost:10139/kernel-source' WHERE_TO_MOUNT
파인더를 통해 :
URL smb://vagrant:vagrant@localhost:10139/ 와 함께 서버 (cmd+k)를 연결하십시오.
Khack은 커널의 해킹을 단순화하고 실제로 작동한다는 것을 보여주는 명령이 실제로 작동한다는 것을 보여주고, 10 년 전에 쓰여진 온라인 튜토리얼에서 주문을 조정하려는 좌절로부터 학습자를 저축하는 새로운 이민자들을 가르치기위한 것입니다.
소스는 khack 에서 제공되며 VM 내에서 단순히 khack 으로 사용할 수 있습니다 ( setup_vm.sh 참조).
예를 들어:
khack kernel make ~linux-source 의 커널을 구축합니다.khack kernel install 빌드 된 커널을 설치하여 VM이 다시 시작될 때 실행됩니다.khack kernel running 최신 컴파일 된 커널이 실제로 실행 중인지보고합니다.실험하고 재미있게 보내십시오.
Kerneltlv 팀