Ubuntu-24.04-Desktop在Vmware17.5.2下编译安装Linux6.9.7内核

VMWare的相关信息如下:

 

首先,新建一个虚拟机。Ubuntu版本为Desktop 24.04,相关信息如下 :

 

新建一个文件夹:

mkdir -p Source
cd Source

 

上传内核源代码到文件夹,解压源代码,然后删除压缩包

tar -xf linux-*.tar.xz
rm -rf linux-*.tar.xz
cd linux-*

 

进入源代码目录

准备编译环境,安装相关的包

sudo apt update
sudo apt install build-essential bc bison flex libelf-dev libncurses5-dev libssl-dev -y

 

复制当前系统的配置文件,然后进入图形化配置界面设置内核参数

cp /boot/config-`uname -r` ./.config
make menuconfig

 

图形界面长这样:

 

首先选择Load,默认加载当前文件目录中的.config文件,然后

选择Device Drivers,选择Fusion MPT device support,在进入到的界面中把Fusion MPT ScsiHost drivers for SPI选项设置为*(按键盘y)(在实体机中把这里能勾选上的就勾选上,不然会黑屏,我也不知道为啥)

 

这步操作是为了让Linux内核适配Vmware虚拟机的硬盘

最后点击Save,将新的.config文件保存到当前目录 

最后点击Exit,退出图形化界面

 

然后直接修改现在目录中的.config文件,将以下内容

 修改为

 

 

 

在Linux内核源代码目录中,进入到目录中的certs文件夹

cd certs

创建一个名为 x509.genkey 的文件,向文件添加以下内容

[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
CN = Modules

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid

然后执行以下代码,生成证书

openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem

 

cd certs
rm x509.genkey
echo "
[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
CN = Modules

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
" >> x509.genkey
openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem
cd ..

 

 

 

 返回到源代码目录,开始编译

make -j $(nproc)

 基本上要等几十分钟,编译完后执行以下命令

sudo make modules_install
sudo make install
sudo update-grub2

 

编译成deb包

sudo apt install debhelper dh-virtualenv -y
make -j$(nproc) bindeb-pkg

 

 

 

然后重启

sudo reboot

 

 

sudo cat /boot/grub/grub.cfg | less
sudo vim /etc/default/grub
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.6.43"

 

posted @ 2024-07-02 22:10  LuWeiReal  阅读(85)  评论(0)    收藏  举报