VMware中Ubuntu編譯和公升級核心

2021-08-03 12:54:28 字數 3604 閱讀 5879

1、

vmware中建立乙個ubuntu的虛擬記憶體機,注意在設定記憶體和硬碟時要設定大一些(記憶體2g,硬碟180g)。

最初配置的時候記憶體是1g,硬碟是20g,在編譯的時候提示空間不夠,用命令 df -h 檢視,發現根目錄檔案系統/dev/sda1 的使用率為100%。

因此重新建立了乙個虛擬機器,分配記憶體為1g,硬碟為80g,可以正常編譯,reboot之後啟動新版本kernel的時候顯示

"end kernel panic - not syncing: out of memory and no killable processes..."

重新配置虛擬機器的記憶體和硬碟,把記憶體增加到2g,硬碟增加到180g,此時重新啟動虛擬機器,可以用新版本的kernel正常啟動。

為了後續配置的方便,我們進入到root使用者進行操作

2、配置網路

虛擬機器安裝好之後,nat方式配置好網路。

用瀏覽器firefox可以正常上網,但是在更新的時候總是會失敗(sudo apt-get update ),也沒法安裝軟體。

把source.list更換成如下源,同時對系統網路和軟體更新進行設定。再次測試,可以更新和安裝軟體。

system settings -> network -> 設定 http/https proxy

system settings -> software & updates -> download from -> main server

root@ubuntu:/# cp /etc/apt/sources.list /etc/apt/sources.list.backup

root@ubuntu:/# gedit /etc/apt/sources.list

# deb cdrom:[ubuntu 16.04 lts _xenial xerus_ - release amd64 (20160420.1)]/ xenial main restricted

deb xenial main restricted

deb xenial-updates main restricted

deb xenial universe

deb xenial-updates universe

deb xenial multiverse

deb xenial-updates multiverse

deb xenial-backports main restricted universe multiverse

deb xenial-security main restricted

deb xenial-security universe

deb xenial-security multiverse

3、更新

xl@ubuntu:~$ apt-get update

xl@ubuntu:~$ apt-get upgrade

4、開啟虛擬機器和主機的檔案共享,拷貝linux kernel原始檔到自己目錄下,並解壓

xl@ubuntu:~$ mv /mnt/hgfs/sharevmware02/linux-4.4.19.tar.xz ./compilekernel/

xl@ubuntu:~/compilekernel$ xz -d linux-4.4.19.tar.xz

xl@ubuntu:~/compilekernel$ tar xvf linux-4.4.19.tar

在編譯之前安裝下列軟體

root@ubuntu:/home/xl/compilekernel/linux-4.4.19# apt-get install libncurses5-dev

root@ubuntu:/home/xl/compilekernel/linux-4.4.19# apt-get install libssl-dev

將原來的配置拷貝過來,這樣在用新的kernel啟動的時候依然使用原來的配置

root@ubuntu:/boot# cp /boot/config-`uname -r` ./.config
每次編譯前使用下列命令清理源**樹,第一次解壓的源**不需要

root@ubuntu:/boot# make mrproper
5、配置核心選項,這裡面我使用了預設配置,後續會研究不同的核心選項配置

root@ubuntu:/boot# make menuconfig
6、編譯,生成核心模組和壓縮的核心檔案。其中數字n是任務數,建議設定為cpu核心數的2倍。

root@ubuntu:/home/xl/compilekernel/linux-4.4.19# make -j n
安裝核心動態載入模組檔案到/lib/modules中相應的核心版本目錄中

root@ubuntu:/home/xl/compilekernel/linux-4.4.19# make modules_install

root@ubuntu:/lib/modules/4.4.19# ls

build modules.alias.bin modules.dep modules.order modules.symbols.bin

kernel modules.builtin modules.dep.bin modules.softdep source

modules.alias modules.builtin.bin modules.devname modules.symbols

安裝壓縮檔案到/boot分割槽

root@ubuntu:/home/xl/compilekernel/linux-4.4.19# make install

root@ubuntu:/boot# ls

grub vmlinuz-4.4.19 initrd.img-4.4.19

config-4.4.19 memtest86+.bin system.map-4.4.19

... ...

7、重啟

root@ubuntu:/home/xl/compilekernel/linux-4.4.19# reboot
8、啟動之後檢視kernel版本,已經更新到新的kernel版本

root@ubuntu:/# cat /proc/version

linux version 4.4.19 (root@ubuntu) (gcc version 5.4.0 20160609 (ubuntu 5.4.0-6ubuntu1~16.04.4) ) #1 smp thu jul 6 11:43:38 pdt 2017

參考:

擴充VMware中Ubuntu空間

在網上查詢了不少文件,並做了多次實驗。發現了一條簡單的路徑 方法 再記錄如下 大到過程,先在vmware中擴充容量到合適大小,再在ubuntu下使用gparted圖形化軟體擴充根空間就可以了。下面一步一步地記錄過程。一 在vmware中擴充容量 2 在彈出的對話方塊中選擇硬碟 要擴充硬碟空間,當然要...

VMware中安裝Ubuntu步驟

安裝前的準備和基本安裝 設定語言環境 安裝常用軟體 在作業系統上安裝vmware虛擬機器軟體 為什麼要使用虛擬機器?不需要準備額外的電腦在虛擬機器中可以大膽嘗試任何操作,不用擔心造成不可逆轉的破壞 該選項可以方便地實現在虛擬機器和個人電腦之間共享檔案 按照以下步驟操作可以修改 ubuntu 的語言環...

VMware中的Ubuntu網路設定

網路配置 vmware安裝後會有兩個預設網絡卡,分別是vmnet8 192.168.83.1 和vmnet1 192.168.19.1 當然不同的機器上,這兩個網絡卡的 ip會不同的。在windows中這兩個網絡卡可以設定成自動獲取ip的方式。就可以檢視ip位址了。同時我們還必須選擇vmware有兩...