Sco*_*att 2 customization kernel raspberrypi arm64
我已经使用下图在 Raspberry Pi 4 上成功安装了 Ubuntu 20.04 LTS:https ://ubuntu.com/download/raspberry-pi/thank-you?version=20.04&architecture=arm64+raspi
我想自定义内核,但是,我尝试了各种方法,但都没有产生可引导的 5.4.0 内核。/boot 文件夹无论如何都不是标准的,所以我的问题是有人知道在 Ubuntu 上为 arm64 的 Raspberry Pi 4 构建自定义内核吗?任何与 Ubuntu 和此硬件有关的 Ubuntu 文档将不胜感激。
我感觉到你的痛苦。周围有大量信息,其中大部分信息很接近,但并不完全是您所需要的。我最近成功地为 pi 4 构建和运行了 20.04 内核。我的笔记附在这里。我不是交叉编译;我正在构建 pi 本身。这对我在 32 位和 64 位安装上都有效。
2020 年 7 月 19 日编辑: 我在下面给出的原始 git 命令是:
git clone --depth=1 git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal -b raspi
Run Code Online (Sandbox Code Playgroud)
这让我获得了当时的最新代码,但此后一直没有更新。目前,它仍然是内核版本1009。
您可以通过执行以下操作获取当前安装的确切内核的源代码:
apt-get source linux-image-$(uname -r)
Run Code Online (Sandbox Code Playgroud)
如果这样做,您将看到一条消息,指示您可以通过执行以下操作获取最新的源代码:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-raspi/+git/focal
Run Code Online (Sandbox Code Playgroud)
我刚刚这样做并获得了内核版本 1012 的源代码,该版本较晚但仍不是最新版本。最近的系统更新在我的 pi 4 上安装了二进制内核版本 1013。
我已经用我拥有的最佳信息更新了下面的注释,但我仍然很想知道是否有一个公开可用的 git 存储库,其中包含更新的 pi 4 内核源代码。
以下是注意事项:
start with a 32GB card (might just barely fit on a 16GB card)
download, install, and update 32-bit or 64-bit Ubuntu Server 20.04 for Raspberry Pi (preinstalled image)
uncomment the following 2 lines in /etc/apt/sources.list:
deb-src http://ports.ubuntu.com/ubuntu-ports focal main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted
sudo apt update
sudo apt-get build-dep linux linux-image-$(uname -r) # brings in nearly a gigabyte
sudo apt install libncurses-dev linux-tools-common fakeroot
# these notes assume your build tree will be in ~/kbuild.
# if you'd prefer to put it elsewhere, simply substitute your location for ~/kbuild in all that follows.
mkdir ~/kbuild
cd ~/kbuild
git clone --depth=1 git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-raspi/+git/focal
# To customize, edit files under .../debian.raspi/config/
# intial build - takes 2 hours 20 minutes, creates 7 .deb files in ~/kbuild
cd ~/kbuild/focal
fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary binary-perarch
# install and run the newly-built kernel:
sudo apt install libunwind8 linux-tools-common libdw1
cd ~/kbuild
sudo dpkg -i *.deb
sync; sudo reboot
# rebuild - takes 30 minutes
cd ~/kbuild/focal
rm debian/stamps/stamp-build*
rm -rf debian/linux-libc-dev/usr/include/arm-linux-gnueabihf
rm -rf debian/build/build-raspi/_____________________________________________dkms
# if you've changed any header files, add binary-headers to the following line:
fakeroot debian/rules binary binary-perarch
Run Code Online (Sandbox Code Playgroud)