โครงการนี้เป็นวิธีการสร้างสภาพแวดล้อมการพัฒนาเคอร์เนล Linux อย่างรวดเร็วและง่ายดายโดยไม่ต้องใช้เครื่องมือเช่น QEMU หรือสร้างเครื่องมือและการคอมไพล์ข้าม สิ่งนี้ทำโดยการสร้างเคอร์เนลจากแพ็คเกจที่จัดหาให้ Debian และใช้กับการกระจาย Debian
โครงการนี้ยังรวมถึง Khack ซึ่งเป็นยูทิลิตี้สำหรับการคาดเดาบางอย่างออกจากกระบวนการแฮ็คในเคอร์เนลรวมถึงการทำหน้าที่เป็นแนวทางสำหรับผู้มาใหม่ซึ่งเป็นทางเลือกสำหรับการอ่านเนื้อหาออนไลน์จำนวนมากและพยายามเรียนรู้จากการทดลองและข้อผิดพลาด
vagrant plugin install vagrant-vbguest ) เรียกใช้ vagrant up ที่ซึ่งคุณโคลน repo (ที่ Vagrantfile อยู่) เพื่อสร้าง VM ใหม่ที่เป็นประกายพร้อมทุกสิ่งที่คุณต้องการ
จะใช้เวลาสักครู่
เมื่อเสร็จแล้วให้เรียกใช้ vagrant ssh เพื่อเข้าสู่เครื่องและจากที่นั่นขึ้นอยู่กับระดับความคุ้นเคยกับการพัฒนาเคอร์เนลเช่นกัน:
khack เพื่ออธิบายสิ่งที่คุณสามารถทำได้ที่นี่ (WIP)khack --help สำหรับรายการสคริปต์ที่มีประโยชน์หรือเพียงแค่เพิกเฉยต่อ khack ทั้งหมดและทำสิ่งของคุณเอง
ภายใน VM Home Directory จะมี:
linux-source : แหล่งเคอร์เนล Linux พร้อมที่จะรวบรวมด้วยการกำหนดค่าขั้นต่ำจาก linux-configkhack : ยูทิลิตี้ Khackmodule : รหัสนั่งร้านสำหรับโมดูลเคอร์เนลlinux-config : การกำหนดค่าเคอร์เนล premadesystem-config : ไฟล์การกำหนดค่าสำหรับโปรแกรมที่เกี่ยวข้องกับระบบที่แตกต่างกันมักจะไม่จำเป็นต้องสัมผัสสิ่งนี้boot-backup : การสำรองข้อมูล /boot ในกรณี khack , module และ linux-config ได้รับการตั้งค่าให้แชร์กับระบบปฏิบัติการโฮสต์ดังนั้นคุณสามารถใช้ตัวแก้ไขที่คุณชื่นชอบในการแก้ไขไฟล์ในไฟล์เหล่านั้น
หากต้องการแก้ไขแหล่งเคอร์เนลดูด้านล่าง ทุกอย่างสามารถทำได้แบบดั้งเดิม (รวบรวมและติดตั้งเคอร์เนล ฯลฯ ) หรือใช้ Khack เพื่อความสะดวก
เราเปิดเผยแหล่งที่มาผ่าน SMB/CIFs เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับการสร้างเคอร์เนลบนไดเรกทอรีที่ใช้ร่วมกัน VirtualBox ไปเมานต์:
ผ่านเทอร์มินัล:
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
ผ่าน Nautilus:
smb://vagrant:vagrant@localhost:10139/kernel-source/
ผ่านเทอร์มินัล:
sudo mount -t smbfs '//vagrant:vagrant@localhost:10139/kernel-source' WHERE_TO_MOUNT
ผ่าน Finder:
ใช้ Connect to Server (CMD+K) ด้วย URL smb://vagrant:vagrant@localhost:10139/
Khack มีความหมายที่จะทำให้การแฮ็คง่ายขึ้นบนเคอร์เนลและสอนผู้มาใหม่ซึ่งคำสั่งที่ใช้งานได้จริงคุณรู้ว่าพวกเขาทำงานได้จริงช่วยผู้เรียนจากความคับข้องใจในการพยายามปรับคาถาจากบทช่วยสอนออนไลน์ที่เขียนเมื่อสิบปีก่อน
แหล่งที่มาของมันมีอยู่ภายใต้ khack และสามารถใช้เป็นเพียง khack ภายใน VM เนื่องจากมีการเชื่อมโยงไปยังสถานที่ที่เหมาะสม (ดู setup_vm.sh )
ตัวอย่างเช่น:
khack kernel make จะสร้างเคอร์เนลใน ~linux-sourcekhack kernel install จะติดตั้งเคอร์เนลที่สร้างขึ้นเพื่อให้มันจะทำงานเมื่อ VM เริ่มต้นใหม่khack kernel running จะรายงานว่าเคอร์เนลที่คอมไพล์ล่าสุดกำลังทำงานจริงหรือไม่ทดลองและสนุก
ทีม Kerneltlv