Instalé con éxito Ubuntu 20.04 LTS en una Raspberry Pi 4 usando la siguiente imagen:
https://ubuntu.com/download/raspberry-pi/thank-you?version=20.04&architecture=arm64+raspi
Quiero personalizar el kernel, sin embargo, probé varios métodos, pero ninguno de ellos produce un kernel 5.4.0 de arranque. La carpeta /boot no es estándar de ninguna manera, así que mi pregunta es:¿alguien tiene alguna idea de crear un kernel personalizado en Ubuntu en una Raspberry Pi 4 para arm64? Cualquier documentación de Ubuntu que pertenezca a Ubuntu y este hardware sería agradecida.
Respuesta aceptada:
Siento tu dolor. Hay un montón de información alrededor, y la mayor parte está cerca, pero no es exactamente lo que necesita. Recientemente logré compilar y ejecutar kernels 20.04 para pi 4. Mis notas se adjuntan aquí. No estoy compilando de forma cruzada; Estoy construyendo sobre el propio pi. Esto me ha funcionado tanto en instalaciones de 32 bits como de 64 bits.
Editado el 19 de julio de 2020: El comando git original que di a continuación fue:
git clone --depth=1 git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal -b raspi
Eso me dio el último código en el momento en que lo hice, pero no se ha actualizado desde entonces. En este momento, todavía está en la versión de kernel 1009.
Puede obtener la fuente del núcleo exacto que tiene instalado actualmente haciendo:
apt-get source linux-image-$(uname -r)
Si lo hace, verá un mensaje que indica que puede obtener el código fuente más reciente haciendo esto:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-raspi/+git/focal
Lo hice hace un momento y obtuve la fuente de la versión 1012 del kernel, que es posterior pero aún no es la última. La actualización del sistema más reciente instaló la versión 1013 del kernel binario en mi pi 4.
He actualizado la nota a continuación con la mejor información que tengo, pero aún me encantaría saber si hay un repositorio git disponible públicamente con una fuente de kernel pi 4 aún más reciente.
Aquí están las notas:
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