基于VitralBox 的 OpenEuler系統 安裝增強功能
1.裝載CD光牒
點選裝置->安裝增強功能 将最新版的增強功能安裝CD光牒裝在到系統中。
2.安裝增強功能
進入CMD
首先找到CD光牒位置:
我的路徑是
cd run/media/root/VBox_GAs_6.0.12/
./VBoxLinuxAdditions.run
此時提示增強功能安裝失敗
檢視日志,找出錯誤:
cat /var/log/vboxadd-setup.log
可以看到是編譯錯誤
我們之前通過檢視OpenEuler核心版本為4.x.x
但查閱相關資料後
我們得知access_ok函數在Linux核心5版本之後由傳三個參數被改為了傳兩個參數,VBoxAdditions根據Linux版本号是4.x.x還是5.x.x來進行判斷傳三個還是兩個參數。
雖然openEuler 20.03 SP1使用的核心版本号為4,但卻已經合并了Linux核心5.x.x版本之後的更新檔,也就是說,access_ok參數隻需要兩個參數。
3.修改VBoxAdditions源代碼
隻要我們将VBoxAdditions的源代碼中的條件判斷更改,讓核心版本4.x.x的access_ok函數傳入參數也為兩個就可以為OpenEuler安裝增強功能了。
使用編輯器修改以下檔案:
vi memuserkernel-r0drv-linux.c
将光标處的
LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
改為
KERNEL_VERSION(4, 0, 0)
第二處 同樣将5改為4
然後按下esc鍵,:wq儲存并退出。
還有一個檔案要修改,繼續執行指令:
cd ../../../vboxsf
vi regops.c
找到光标所指位置
同樣将5改為4
4.最終繼續安裝
/sbin/rcvboxadd setup
安裝成功!