虛擬機linux內核編譯
① 虛擬機上編譯linux內核,重啟後,不能正常進入系統,顯示出現這樣的問題:
希望你用的boot loader舊的菜單項還在,這樣的話你可以選那條boot起來然後重新編譯;
你的問題感覺上file system沒有編譯進內核,所以沒有辦法mount分區;
或者你的boot loader的菜單項沒配置好;
② linux編譯內核,是指給arm上的linux系統編譯內核,還是指給電腦的虛擬機的這個linux系統編譯內核呀
都可以,如果給arm編譯,內核配置和工具不一樣
③ Ubuntu虛擬機里怎麼編譯內核
方法/步驟
」Ctrl+Alt+T」進入終端,使用命令 sudo passwd root 啟動root賬號,重啟,使用 su 命令獲得root許可權;
安裝編譯內核所需軟體包
# apt-get update
# apt-get install build-essential kernel-package libncurses5-dev fakeroot 選擇Y
下載3.19.3源碼包並解壓
# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.3.tar.xz
# tar -Jxvf linux-3.19.3.tar.xz
配置內核
# cd linux-3.19.3 (cd命令進入源碼目錄)
# make mrproper (得到源代碼後,將其凈化)
# make menuconfig (對內核選項進行配置,不需要配置,直接enter)
# cp /boot/config-'uname -r'-generic ./.config ('uname -r'-generic指現版本內核)
# make clean (刪除配置時留下的一些不用的文件)
編譯內核(需要很長時間,我用了有兩小時,請耐心等待)
# make bzImage
# make moles (編譯模塊)
安裝新內核
# make moles_install (安裝模塊)
# make install
製作啟動盤
# sudo mkinitramfs 3.19.3 -o /boot/initrd.img-3.19.3
更新grub2
# sudo update-grub2
重啟,使用新內核(不是注銷哦,是重啟)
使用命令# uname -r 查看內核版本
④ 怎麼在WIN7下編譯Linux內核
親,編譯Linux的內核得用Linux的環境,裝個Linux的發行版吧,Ubuntu,Debian或者Fedora等等,然後使用GCC編譯,剛說的幾個系統全部都支持中文!
⑤ linux內核編譯的幾點疑惑
1.不一定是升級。一般編譯內核有升級某些特性修正一些bug,但是也有精簡來適應自己的機子硬體。
2.編譯成功後的內核與原來內核沒有影響(除非將原來的覆蓋),原來的內核最好保留,避免新內核運行不成功。
3.編譯的新內核主要看你自己在config文件上的配置。
⑥ linux內核編譯問題 vmware內編譯好內核如何在其他主機上安裝
你這水平要加油了。
1. 沒有網卡的話,可以增加個usb口的網卡呢。一個才十幾塊錢。usb口絕對有。配置好ip地址,直接傳,如scp.
2. 拷貝內核,moles, 到U盤。
然後目標機器掛載U盤。
dmesg 識別到u盤。
然後掛載u盤:mount掛載下。
然後手動安裝內核,生成initxxxx文件,修改bootloader內核優先順序。
最後 sync 然後eject彈出u盤即可。
3. 硬碟介面等傳文件。
4. 人人順風順水的回答沒有問題,簡明,是你水平太差看不懂而已。
5. 內核目錄里有個Documentation, 你多閱讀下
⑦ 虛擬機下在10.04ubuntu中編譯linux-2.6.33.3.tar.bz2內核
很明顯提示你磁碟空間不夠用了, 你的虛擬機硬碟要開大一點才可以 內核編譯要至少2個G以上比較保險
df 看一下吧 你就知道了
⑧ linux編譯內核,重啟後出錯。虛擬機。2.6.18升級到2.6.28.
是你的文件系統出問題了吧,你把內核升級了,必須把文件系統一起升級才會打開正常!
⑨ linux 在虛擬機中編譯完內核後無法啟動了怎麼辦~~~
不想修改grub的話可以先光碟啟動,然後把光碟中/boot裡面的內核文件和/lib/moles/**下的文件拷入硬碟對應的文件夾,替換你自己編譯的內核~
⑩ 如何重新編譯linux內核
因為一般電腦安裝的系統都是Windows,而整個編譯過程都需要在Linux環境下實現,所以最好是在虛擬機里安裝Linux系統來完成這一過程。我使用的虛擬機是VMware-workstation-full-v7.1.4。
然後,我們需要下載一個較高版本的Linux系統的鏡像文件,安裝在虛擬機上,作為編譯環境。我使用的是ubuntu-11.04-desktop-i386。之所以選擇較高版本,是因為它的界面比較方便用戶操作。
然後下載一個Linux內核源代碼文件,將它保存到虛擬機上新安裝的系統中去。並解壓到/usr/src目錄。我使用的是linux-2.6.36,下載低版本的原因是,小巧輕便,易於編譯。
解壓命令如下:
bzip2 -d linux-2.6.36.tar.bz2
tar -xvf linux-2.6.36.ta
修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一個系統調用函數。自行編寫一個簡單的程序即可,只為測試用。
修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,為新添加的程序配置系統調用號。
在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系統調用表。
下面就是最重要的內核編譯與安裝:
首先配置編譯信息,使其生成適合當前機器的Makefile,輸入make oldconf ig。
接著還要輸入make menuconfig,在字元界面下進行必要的細微的修改。
然後要經過四步編譯過程(直接輸入命令即可):
(1)make bzImage
將內核編譯為壓縮映像,存儲在源碼根目錄下的「System.map」文件中。
(2)make moles
編譯各個模塊。
(3)sudo make moles_install
安裝模塊
(4)sudo make install
安裝內核
第(2)(3)步等待時間較長,可能需要數個小時,請耐心等待。
無報錯的話重啟進入GRUB界面,就可以看到新編譯的內核了。
按回車鍵進入我們編譯的目標內核中,用關鍵詞搜索查看新增加的系統調用「my call」是否已在內核中:
編寫測試程序,調用新添加的系統調用:
測試成功,說明系統調用添加成功,進而說明內核編譯成功!
以上的辦法你可以試一下,希望對你有所幫助。