[BPI-R2 new image] debian 10 buster image with Kernel 4.19.62

just say me the config-options needed…i don’t wanted an all-yes-config so i activated only the options needed by me and the people reported options to me. but this is kernel-related, not image-related.

eth0/eth1 are the (internal) cpu-ports between SOC and Switch, lanX/wan are the (physical/external) dsa-ports of the switch where you put your rj45-jack in. CPU-POrts have to only be set “up” without any other config. IP-configuration has to be done on dsa-ports (lanx). if all lan-ports need to be in same lan-segment, they have to be bridged and get 1 IP-address. if you use different lan-segments (like me) you can give any lan-port another IP-adress

Yes, need all lan ports to be in one network like other router this do out-of-box. I don’t ask about all-yes but CONFIG_SOME_MODULE=m - will be great and slim and don’t need to waste hour time to google - what the heck is logs says and found that it need module that not present…

p.s. also found if I choose deb package on kernel compile - it give kernel wrong names. If I choose pack - all names correct.

for bridge, i have wrote an example here: https://www.fw-web.de/dokuwiki/doku.php?id=en/bpi-r2/network/start#netbridge

everybody needs another “some_module” :wink: and figuring out which module can be needed by somebody and its depencies will waste my time :wink: it is a basic kernel where everyone can add stuff he needs :wink: and maybe tell me what’s needed additional to it. but i don’t want to add modules/builtin-function nobody needs

for naming-issue you mean the file of deb/tar.gz? or inside the file?

deb is designed to install multiple kernels so the uImage has the version-number appended and change uEnv.txt on install

for naming-issue you mean the file of deb/tar.gz? or inside the file?

inside. because deb is simplier way to install and tar.gz file need to be unpacked manually to corresponding folders. don’t know for which reason this is because system have mounted boot and root folders - why not make same structure in tar.gz file… or may be some script with these BPI2-BOOT BPI2-ROOT folders that rename files/folders to some old…

not all systems have boot-partition mounted in /boot, so i have separated this in tar.gz-file, there are only 2 commands to unpack the tar.gz-file. tar.gz-file is designed to be installed in running system, but outside where root/boot are mounted anywhere. deb is designed to be installed in running system, so it points to / and /boot instead of BPI-BOOT/BPI-ROOT

sudo tar -xzf ${kernelpack} -C / --strip-components=1 BPI-ROOT
sudo tar -xzf ${kernelpack} -C /boot/ --strip-components=1 BPI-BOOT

just fork my repo and do changes you think and i take a look over it…

btw. this discussion is more kernel-related and should be placed in a new thread…

What is the source for this preloader? Have you got any URLs for it or something? I want to test it in case it wasn’t covered in this thread.


I think here you can find the sources for this preloader from BPI: https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB.

There are 2 files there: BPI-R2-preloader-DDR1600-20190722-2k.img.gz and BPI-R2-EMMC-boot0-DDR1600-20190722-0k.img.gz which were commited to the repository 21 days ago.

These are the newest binaries…source is not available (nda)

@LeXa2 these 2 preloaders (one for sd,one for emmc) load full uboot, older preloaders did load only a part and with pci/ahci uboot-binary is larger than this loaded size and boot fails

Ah, it might be the reason u-boot was failing for me when built with ext4 and fat write support. Will give these a try.

One more question - how to make Hardware-NAT for your kernel?

hwnat is only ported to 4.14 and because of instabilities and changed framework (there exists a HW-offloading-framework in newer kernels) not ported to higher kernels. maybe @moore and @Ryder.Lee knew more. but please start a new thread for questions regarding kernel and not related to this image

Ok sorry and thanks for hep!

I have downloaded the Debian Buster 4.19 kernel build referenced on this link: http://wiki.banana-pi.org/Banana_Pi_BPI-R2 I have the ethernet ports all working but the issue comes when trying to setup wireless and make it a Access Point. I can see wlan0 and the IP i have assigned to it BUT whenever i lose power or reboot i have to reconfigure it all over again. Also I cannot see the SSID when searching from other wireless devices. Frank has been very helpful in assisting me but was wondering if anyone has a blow by blow on what exactly to do in order to get the wireless up and running and making it an access Point? I would be very grateful!


This page links to my buster-image…

try to unpack this in rootfs: https://drive.google.com/drive/u/0/mobile/folders/1WLWAR1FC-rF4n2SgFecBlU1ym_XKqAR_/15Y5Y3NAOwg_IMmN3k6hdb7pAQj9oTVTl/15lHk7IEyVyQdYzVfvPvV-3jMhz7GSL7p?usp=drive_open&sort=13&direction=a

And then run wifi.sh

Frank that link takes me to your Google Drive but i dont see your buster image. I only see 5 Items in there they are as follows: r2_wifi_firmware.zip , r2_wifi_helper.zip, wifi_helper.tar.gz, wmt-tools+script.tar.gz, wmt-tools+script+conf.zip Thats is all I see nothing labeled buster -Brian-

Just unpack wmt-tools+script+conf.zip over the buster-rootfs (after burning the buster-image you allready have)

Frank… THANK YOU that got the access point running. Istill isnt persistant however i have to run that script each time the BPI-R2 loses power or reboots however. Now to try to bridge the ap0 and lan0@eth0 so I can share the Internet coming in on lan0@eth0.


just put the script in rc.local after creating/install it

steps should be same as in debian 9: https://www.itechlounge.net/2017/10/linux-how-to-add-rc-local-in-debian-9/

do not bridge ap0 with any other network-device…make separate subnets and do routing between


Thanks again Frank going to tackle the bridge thing in an hour or so…appreciate your assistance couldn’t have done it without you!

Thought I had a handle on how to get this BPI-R2 routing set up its kicking my ass. I am not giving up on this…