I downloaded the 2024-03-10-debian-11-bullseye-lite-bpi-r4-5.4-sd-emmc.img and the 2024-03-10-debian-11-bullseye-lite-bpi-r4-6.1-sd-emmc.img image’s and it does not have ifb module in the kernel. I pulled the kernel source to recomile but it is not there either. Can you point to the ifb info so I can add it or did I miss it?
frank-w
(Frank W.)
May 3, 2024, 8:07pm
2
If you have kernelsource you can add it via menuconfig
I pulled the kernel source from BPI’s git and it is not there.
frank-w
(Frank W.)
May 3, 2024, 8:48pm
4
Have you used build.sh with option 4?
kernel: $(K_DOT_CONFIG)
$(Q)$(MAKE) -C linux-mt ARCH=arm64 CROSS_COMPILE=${K_CROSS_COMPILE} -j$J INSTALL_MOD_PATH=output UIMAGE_LOADADDR=0x40008000 Image dtbs
$(Q)$(MAKE) -C linux-mt ARCH=arm64 CROSS_COMPILE=${K_CROSS_COMPILE} -j$J INSTALL_MOD_PATH=output modules
$(Q)$(MAKE) -C linux-mt ARCH=arm64 CROSS_COMPILE=${K_CROSS_COMPILE} -j$J INSTALL_MOD_PATH=output modules_install
kernel-clean:
$(Q)$(MAKE) -C linux-mt ARCH=arm64 CROSS_COMPILE=${K_CROSS_COMPILE} -j$J distclean
rm -rf linux-mt/output/
kernel-config: $(K_DOT_CONFIG)
$(Q)$(MAKE) -C linux-mt ARCH=arm64 CROSS_COMPILE=${K_CROSS_COMPILE} -j$J menuconfig
cp linux-mt/.config linux-mt/arch/arm64/configs/$(KERNEL_CONFIG)
wifi-mt7996e: $(K_DOT_CONFIG)
$(Q)$(MAKE) --jobserver-fds=3,4 -j -C wifi-mt7996e/backports-6.5 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=${PWD}/linux-mt/output EXTRA_CFLAGS="-I${PWD}/wifi-mt7996e/backports-6.5/include" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Sat Jan 27 16:05:14 2024" KBUILD_BUILD_VERSION="0" CONFIG_SHELL="bash" V='' cmd_syscalls= KLIB_BUILD="${PWD}/linux-mt" KERNELRELEASE=5.4.260 MODPROBE=true KERNEL_SUBLEVEL=1 KBUILD_LDFLAGS_MODULE_PREREQ= modules
$(Q)$(MAKE) --jobserver-fds=3,4 -j -C wifi-mt7996e/backports-6.5 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=${PWD}/linux-mt/output EXTRA_CFLAGS="-I${PWD}/wifi-mt7996e/backports-6.5/include" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Sat Jan 27 16:05:14 2024" KBUILD_BUILD_VERSION="0" CONFIG_SHELL="bash" V='' cmd_syscalls= KLIB_BUILD="${PWD}/linux-mt" KERNELRELEASE=5.4.260 MODPROBE=true KERNEL_SUBLEVEL=1 KBUILD_LDFLAGS_MODULE_PREREQ= modules_install
$(Q)$(MAKE) --jobserver-fds=3,4 -j -C "${PWD}/linux-mt" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=${PWD}/linux-mt/output KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Sat Jan 20 16:05:14 2024" KBUILD_BUILD_VERSION="0" CONFIG_SHELL="bash" V='' cmd_syscalls= KBUILD_EXTRA_SYMBOLS="${PWD}/linux-mt/Module.symvers ${PWD}/wifi-mt7996e/backports-6.5/Module.symvers ${PWD}/wifi-mt7996e/mt76-2023-12-18-bebd9cff/Module.symvers" KERNELRELEASE=5.4.260 CONFIG_MAC80211_DEBUGFS=y CONFIG_NL80211_TESTMODE=y CONFIG_MT76_CONNAC_LIB=m CONFIG_MT7996E=m M="${PWD}/wifi-mt7996e/mt76-2023-12-18-bebd9cff" NOSTDINC_FLAGS="-nostdinc -isystem /usr/lib/gcc-cross/aarch64-linux-gnu/7/include -I${PWD}/wifi-mt7996e/mt76-2023-12-18-bebd9cff -I${PWD}/wifi-mt7996e/backports-6.5/backport-include/uapi -I${PWD}/wifi-mt7996e/backports-6.5/backport-include -I${PWD}/wifi-mt7996e/backports-6.5/include/uapi -I${PWD}/wifi-mt7996e/backports-6.5/include -include backport/autoconf.h -include backport/backport.h -DCONFIG_MAC80211_MESH -DCONFIG_MAC80211_DEBUGFS -DCONFIG_NL80211_TESTMODE" modules
$(Q)$(MAKE) --jobserver-fds=3,4 -j -C "${PWD}/linux-mt" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=${PWD}/linux-mt/output KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Sat Jan 20 16:05:14 2024" KBUILD_BUILD_VERSION="0" CONFIG_SHELL="bash" V='' cmd_syscalls= KBUILD_EXTRA_SYMBOLS="${PWD}/linux-mt/Module.symvers ${PWD}/wifi-mt7996e/backports-6.5/Module.symvers ${PWD}/wifi-mt7996e/mt76-2023-12-18-bebd9cff/Module.symvers" KERNELRELEASE=5.4.260 CONFIG_MAC80211_DEBUGFS=y CONFIG_NL80211_TESTMODE=y CONFIG_MT76_CONNAC_LIB=m CONFIG_MT7996E=m M="${PWD}/wifi-mt7996e/mt76-2023-12-18-bebd9cff" NOSTDINC_FLAGS="-nostdinc -isystem /usr/lib/gcc-cross/aarch64-linux-gnu/7/include -I${PWD}/wifi-mt7996e/mt76-2023-12-18-bebd9cff -I${PWD}/wifi-mt7996e/backports-6.5/backport-include/uapi -I${PWD}/wifi-mt7996e/backports-6.5/backport-include -I${PWD}/wifi-mt7996e/backports-6.5/include/uapi -I${PWD}/wifi-mt7996e/backports-6.5/include -include backport/autoconf.h -include backport/backport.h -DCONFIG_MAC80211_MESH -DCONFIG_MAC80211_DEBUGFS -DCONFIG_NL80211_TESTMODE" modules_install
wifi-mt7996e-clean:
$(Q)$(MAKE) --jobserver-fds=3,4 -j -C wifi-mt7996e/backports-6.5 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=${PWD}/linux-mt/output EXTRA_CFLAGS="-I${PWD}/wifi-mt7996e/backports-6.5/include" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Sat Jan 27 16:05:14 2024" KBUILD_BUILD_VERSION="0" CONFIG_SHELL="bash" V='' cmd_syscalls= KLIB_BUILD="${PWD}/linux-mt" KERNELRELEASE=5.4.260 MODPROBE=true KERNEL_SUBLEVEL=1 KBUILD_LDFLAGS_MODULE_PREREQ= clean
Yes when I run the build it actually fails compiling the Wi-Fi modules right now so I’m not even sure what’s wrong with it. I did try and add config_ifb to the config file just to see if it would compile or give me an error message that says that the source code wasn’t there for it.
frank-w
(Frank W.)
May 3, 2024, 9:22pm
6
i guess this kernel also needs older build-tools like the openwrt…this i only got compiled with ubuntu 18.4
maybe using a newer kernel is an option?
change build.conf to bpi-r4 and use build.sh with importconfig, config and then without param
CC scripts/mod/devicetable-offsets.s
ccache: error: Failed to create temporary file for /home/jonnt/.cache/ccache/3/4/abqclnd6dgc0cqbnu7frhv630sgtp9aR.tmp.SH6nHZ: Permission denied
make[1]: *** [scripts/Makefile.build:289: scripts/mod/empty.o] Error 1
make[1]: *** Deleting file 'scripts/mod/empty.o'
make[1]: *** Waiting for unfinished jobs....
ccache: error: Failed to create temporary file for /home/jonnt/.cache/ccache/1/7/4e1oe7f1f2m1soj5dqj3pq4rchp7o4oR.tmp.RMq9SE: Permission denied
make[1]: *** [scripts/Makefile.build:121: scripts/mod/devicetable-offsets.s] Error 1
make[1]: *** Deleting file 'scripts/mod/devicetable-offsets.s'
make: *** [Makefile:1262: prepare0] Error 2
For some reason it had the wrong permissions so just just changed them.
frank-w
(Frank W.)
May 4, 2024, 5:21am
10
Maybe you used ccache as root in past? Try change back rights in your cache file back to your user
sudo chown -R jonnt /home/jonnt/.cache/ccache
I should have checked that before I posted. Stupid on my part.
The code exists for all 3 kernel versions but it will not compile. There is no selection in menuconfig and if I add it to .config it gets overwritten.
frank-w
(Frank W.)
May 4, 2024, 6:24pm
13
My repo has no menu,just call (after switching to 6.9-rc and changing board in build.conf)
./build.sh importconfig
./build.sh config # this does menuconfig
./build.sh # compile
In menuconfig you can search with / for ifb
Dumb question but how do switch to 6.9-rc?
frank-w
(Frank W.)
May 4, 2024, 7:49pm
15
Git clone https:… and then git checkout 6.9-rc
Success, I have now having a working 6.9 kernel on bullseye.
What config file specifies what packages are installed when the image is built?
frank-w
(Frank W.)
May 7, 2024, 5:51am
17
I cannot talk for vendors image,but for my debian image it is only minimal install via debootstrap and some packages defined in buildimg.sh (like hostapd).
sudo chroot $targetdir tee "/etc/fstab" > /dev/null <<EOF
# <file system> <dir> <type> <options> <dump> <pass>
/dev/mmcblk${mmcdev}p${mmcbootpart} /boot vfat errors=remount-ro 0 1
/dev/mmcblk${mmcdev}p${mmcrootpart} / ext4 defaults 0 0
EOF
echo $board | sudo tee $targetdir/etc/hostname
if [[ ${board} != "bpi-r2pro" ]];then
sudo chroot $targetdir bash -c "apt update; apt install --no-install-recommends -y hostapd iw xz-utils"
fi
sudo cp -r conf/generic/* ${targetdir}/
if [[ -e conf/$board ]];then
sudo rsync -av --partial --progress --exclude={'bin','lib','sbin'} conf/${board}/. ${targetdir}/
#fix for copy dir over symlink (rejected by cp)
for d in bin lib sbin;do
if [[ -d conf/${board}/$d ]];then
sudo cp -r conf/${board}/$d/* ${targetdir}/$d/
And later systemd-resolved