因為實驗室專案需要,要在xcp1.1上的dom0重新編譯核心,把ima部分新增進去。
在完成這個任務時,碰到了許多問題,具體問題、解決方法及步驟如下:
1. xcp的dom0預設只分配了4gb的空間,如果要在上面編譯核心,這點容量顯然是不夠的。解決方法:使用lvm方式分配乙個lv,在分配的lv上編譯核心。步驟:
a. 分配lv(第一次)
lvcreat -l 20g -n for_dom0 vg_xenstorage-d49b8a25-73f2-8cb7-93a3-e0d8b81054d8
b. 分割槽lv的格式化
mke2fs -j /dev/vg_xenstorage-d49b8a25-73f2-8cb7-93a3-e0d8b81054d8/for_dom0
c. 把lv掛載到指定目錄
mount //dev/vg_xenstorage-d49b8a25-73f2-8cb7-93a3-e0d8b81054d8/for_dom0 /mnt/lvm_dom0
d. 啟用vg (第一次不用,當lv失效時,掛載前啟用)
vgchange -a y vg_xenstorage-d49b8a25-73f2-8cb7-93a3-e0d8b81054d8
2. ima配置
把核心原始碼在lv上解壓後,進入原始碼目錄。
a. cd drivers/char/tpm
vim tpm_tis.c:
static int interrupts=1 -> static int interrupts=0;
static int force -> static int force=1
b. make menuconfig
select ima
# configure other relative options
d. make
make modules
make modules_install
make install
3. bootloader的配置遇到的問題及解決方法
由於xcp自帶了grub0.97版本,又沒有使用它做引導,一開始傻傻的使用grub-install /dev/sda 命令重新配了一下grub,還把grub裝在了mbr和/dev/sda1的超級塊中了(分別在grub shell中,使用setup (hd0) 和setup(hd0,0) )。後來才發現xcp原來用的是extlinux的啟動引導器......
後果是重啟後,進入了grub shell,怎麼配置也進不了系統。解決方法是:
a. 使用u盤引導進u盤的ubuntu(安裝ubuntu時的try ubuntu選項)
b. crtl+alt+t進入shell終端,重配root密碼(sudo passwd)
c. su進入root shell後,使用fdisk -l檢視需要修復引導盤的路徑,我這裡是/dev/sdb1
d. 把/dev/sdb1 掛載在/mnt上: mount /dev/sdb1 /mnt
e. 給/mnt/boot/目錄下的chain.c32建立硬鏈結extlinux
f. 重建啟動引導程式: extlinux -i /mnt/boot
g. 重啟,問題解決,可以重新進入xcp server了
4. bootloader配置(編輯extlinux.conf)
a. 進入/boot路徑,編輯extlinux.conf
label ima
kernel mboot.c32
5. 編輯 /etc/fstab
加入一行:
securityfs /sys/kernel/security securityfs rw 0 0
6. 重啟後,可以檢視度量列表了。
vi /sys/kernel/security/ima/ascii_runtime_measurements
重新編譯Kali Linux核心
有時你可能想新增必要的驅動 補丁 kali linux核心裡沒有的功能。如下的教程描述如何根據你的需要快速地修改和編譯kali linux核心。請注意目前預設的kali linux核心已經打過了大量的無線注入補丁。u6 c9 w,y o4 b4 h7 j f 安裝編譯所需的依賴 h 7 e v q....
linux 核心重新編譯
以linux 2.6.38.4.tar.bz2原始碼包為例 mv home zhb downloads linux 2.6 38.4 tar.bz2 usr src tar tar xvf linux 2.6 38.4 tar.bz2 使用make install 一步到位或者繼續使用下面的指令 m...
ubuntu環境下重新編譯核心
由於除錯核心 驅動或工作需要,有可能需要對ubuntu下的核心進行重新編譯,本文對核心重新編譯過程進行簡單分析,在進行重新編譯核心前你可以通過uname a來確認你的linux系統的當前版本。2.進入到原始碼存放的路徑 cd usr src,對原始碼進行解壓縮 tar xvf linux sourc...