基於VitralBox 的 OpenEuler系統 安裝增強功能
1.裝載光盤
點擊設備->安裝增強功能 將最新版的增強功能安裝光盤裝在到系統中。
2.安裝增強功能
進入CMD
首先找到光盤位置:
我的路徑是cd run/media/root/VBox_GAs_6.0.12/
2.安裝增強功能
./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
然后按下esc鍵,:wq保存並退出。
4.最終繼續安裝
/sbin/rcvboxadd setup
安裝成功!
重啟系統就可以使用增強功能了!!!
20191331 lyx
2021/9/14