[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#879987: Netboot installation report for Banana Pi M3

Package: installation-reports

Boot method: Put the files on an SD card an manually loaded them in u-boot
Image version: http://ftp.nl.debian.org/debian/dists/sid/main/installer-armhf/current/images/netboot/ At the time of dowloading the image, the time column says "20:48 19-09-17".
Date: 28-10-17

Machine: Banana Pi M3 (https://linux-sunxi.org/Banana_Pi_M3)
Processor: A83T
Memory: 2GiB LPDDR3 @ 672 MHz
Partitions: Never got past the initramfs, so here's df of that (the busybox
  version of df doesn't support -Tl)

  Filesystem           1K-blocks      Used Available Use% Mounted on
  none                    207052        48    207004   0% /run
  devtmpfs               1024196         0   1024196   0% /dev

Base System Installation Checklist:
Initial boot:           [E]

My u-boot is the master branch on 33fe271278 from Thu Oct 26 21:24:31 2017 +0900
hosted https://github.com/u-boot/u-boot.git

The linux kernel I used is master on 15f859ae5c43 from
Thu Oct 26 23:04:14 2017 +0200
hosted git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

The procedure is simple enough and doesn't differ too much from the tutorial
on https://www.debian.org/releases/jessie/armhf/ch05s01.html.en
Since u-boot has support for my device, creating the correct u-boot config
could be achieved with
  make Sinovoip_BPI_M3_defconfig
Putting the u-boot spl to the correct offset for me device is
  dd if=u-boot-sunxi-with-spl.bin of=/dev/${card} bs=1024 seek=8

Then I formatted the SD card to contain one ext4 partition from sector 2048
to the end of the card. It's 32 GB Samsung EVO Plus card. On the filesystem I
put the vmlinuz and the initrd.gz that I got from the netboot installer I
downloaded. Since there's no device tree for my device, I compiled
a linux kernel with
  make sunxi_defconfig
and put the device tree which is located in
on the SD card also.

Putting the SD card in my device, I navigated the interface with uart.
Since u-boot supports the Banana Pi M3, certain variables are predefined.
This includes the kernel address (kernel_addr_r), the device tree address
(fdt_addr_r) and the ramdisk address (ramdisk_addr_r). ${filesize} on the other
hand is automatically set for the file loaded last, so we have to load the
ramdisk last. The sd card slot on the Banana Pi M3 is "mmc 0".

  => load mmc 0 ${kernel_addr_r} ${path_on_your_fs}/vmlinuz
  => load mmc 0 ${fdt_addr_r} ${path_on_your_fs}/sun8i-a83t-bananapi-m3.dtb
  => load mmc 0 ${ramdisk_addr_r} ${path_on_your_fs}/initrd.gz
  => setenv bootargs console=ttyS0,115200 rootwait panic=10
  => bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

After this sequence of inputs, I got

  ## Flattened Device Tree blob at 43000000
     Booting using the fdt blob at 0x43000000
     Loading Ramdisk to 48b66000, end 49fff009 ... OK
     Loading Device Tree to 48b60000, end 48b65673 ... OK

  Starting kernel ...

Nothing more happend, waiting several minutes. I suppose CONFIG_DEBUG_LL wasn't
on in the vmlinuz I got, otherwise I might have received error messages.

Not wanting to give up just then, I tried the zImage of the kernel I had
compiled to get the device tree for my device. So only initrd.gz was from the debian site at this point, as vmlinuz and the device tree where self-compiled.

To my surprise, it actually worked and I was greeted with the installer
interface. Later the installer asked me for the ethernet driver, which I
couldn't find in the list. It's dwmac-sun8i.ko, which is included in the
kernel by CONFIG_DWMAC_SUN8I It's short description is

  Support for Allwinner H3 A83T A64 EMAC ethernet controllers

Extracting the initrd.gz afterwards, I found that it really wasn't included.

I didn't pursue the issue further, but maybe with slight changes to the kernel
config, the debian installer could be used on this device.

Reply to: