このプロジェクトは、QEMUなどのツールを使用したり、ツールチェーンやクロスコンパイルを構築することなく、Linuxカーネル開発環境を迅速かつ簡単に育てる方法です。これは、Debian-Suppliedパッケージからカーネルを構築し、Debian分布で使用することによって行われます。
このプロジェクトには、カーネルでのハッキングプロセスからいくつかの推測を取り除くためのユーティリティ、および新参者のガイドとしての役割を果たすためのユーティリティであるKhackも含まれています。
vagrant plugin install vagrant-vbguestを実行)。vagrant upを実行して、必要なものをすべて備えた光沢のある新しいVMを作成するために、リポジトリ( Vagrantfileがある場所)をクローニングしました。
これにはしばらく時間がかかります。
それが完了したら、 vagrant sshを実行して、カーネル開発に精通しているレベルに応じて、マシンに入り、そこから入ります。
khackを実行してください(WIP)、khack --help有用なスクリプトのリストを求めて、または、カックを完全に無視して、自分のことをしてください。
VMホームディレクトリ内には、次のようになります。
linux-source : linux-configの最小構成でコンパイルする準備ができているLinuxカーネルソース。khack :Khackユーティリティ。module :カーネルモジュールの足場コード。linux-config :事前のカーネル構成。system-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経由:
URL smb://vagrant:vagrant@localhost:10139/を使用して、server(cmd+k)への接続(cmd+k)を使用します。
Khackは、カーネルのハッキングを簡素化し、実際に機能することを示す新規参入者に、10年前に書かれたオンラインチュートリアルから浸入を調整しようとする不満から学習者を救うことを示すように、新参者に教えることを目的としています。
そのソースはkhackの下で利用可能であり、適切な場所にシンプルされているため、VM内の単にkhackとして使用できます( setup_vm.shを参照)。
例えば:
khack kernel make ~linux-sourceでカーネルを構築します。khack kernel install VMの再起動時に実行されるように、構築されたカーネルをインストールします。khack kernel running最新のコンパイルされたカーネルが実際に実行されている場合に報告します。実験して楽しんでください、
kerneltlvチーム