Flatcar: Raspberry Pi no network after PXE boot with flatcar due to missing kernel
Description
Support has already been added for RPI4 network in #227 . However, when using PXE booting, we need an additional flag called CONFIG_MDIO_BCM_UNIMAC
. More details can be found here https://bugzilla.redhat.com/show_bug.cgi?id=1943983
Impact
No ethernet adapter when network booting (either PXE or UEFI HTTP).
Environment and steps to reproduce
boot http://boot.netboot.xyz/ipxe/netboot.xyz-arm64.efi
manually through the HTTP Network boot gui with the UEFI firmware for
RPI4.
Then when booted into the menu.
Select Execute iPXE shell
Type in the following:
kernel https://alpha.release.flatcar-linux.net/arm64-usr/current/flatcar_production_pxe.vmlinuz initrd=flatcar_production_pxe_image.cpio.gz flatcar.config.url=http://urldoesntmatter flatcar.first_boot=yes console=tty0 console=ttyS0 flatcar.autologin
initrd https://alpha.release.flatcar-linux.net/arm64-usr/current/flatcar_production_pxe_image.cpio.gz
boot
You will see messages such as:
[ 133.316150] Unable to find mii
[ 133.319239] bcmgenet BCM6E4E:00 enabcm6e4ei0: failed to connect to PHY
Expected behavior The network driver comes up.
Additional information Enabling the flag would fix the support for PXE alongside the support already #227
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 16 (8 by maintainers)
Commits related to this issue
- Merge pull request #1105 from kinvolk/sayan+jepio/update-dracut Sayan+jepio/update dracut Closes kinvolk/Flatcar#375 — committed to flatcar/scripts by jepio 3 years ago
@jepio My machine is currently rebuilding everything. This will take a while and now I am wondering how both
flatcar_production_pxe.vmlinuz
andflatcar_production_pxe_image.cpio.gz
are generated. Could you point me in the right direction?EDIT: I guess it is something similar to
./image_to_vm.sh --from=../build/images/arm64-usr/developer-latest --format=pxe
Fortunately Gentoo stablized dracut 053. amd64: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a934a75bbc054b3ae7c14948df6a4ac6d69e643 arm64: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a35bed081b36613d414a7a24534a4706e11fb2b0
./build_image
builds a generic image, that is then converted to platform (or deployment) specific images by running./image_to_vm.sh
. You have the right command.There is currently something wrong with dependencies and the initramfs does not get rebuilt when dracut is updated, sorry about that. You need to run an explicit
emerge-arm64-usr coreos-kernel
betweenbuild_packages
andbuild_image
to force the kernel to be rebuilt.@raballew try kinvolk/coreos-overlay#1105.
To summarise, we would need to:
Adding a label “good first issue” for users who want to accustom themselves with building custom images, assuming that both the kernel config change as well as the dracut version bump will be straightforward.