OS Image upgrade on RevPi flat

Topics about the Software of Revolution Pi
Post Reply
smartheit
Posts: 6
Joined: 25 Feb 2022, 08:56

OS Image upgrade on RevPi flat

Post by smartheit »

Dear Kunbus Support,
I started a project with the RevPi flat. I need to install the buster image ( https://revolutionpi.com/download/5435/ ).
On the kunbus site is this guide:
https://revolutionpi.com/tutorials/imag ... ll-jessie/

The RevPi flat does not have a micro USB port.
So how do I flash the emmc? And in case something goes wrong: How can I boot from a USB recovery stick?

My development PC is a linux pc, Linux commands scripts are preferred instead of Windows tools.

Thanks
Marco
User avatar
nicolaiB
KUNBUS
Posts: 931
Joined: 21 Jun 2018, 10:33
Location: Berlin
Contact:

Re: OS Image upgrade on RevPi flat

Post by nicolaiB »

Hi Marco,

the RevPi Flat cannot be upgraded in place as there is no micro USB port for OTG. In order to flash a new image, you have to open the device, remove the compute module and use a external IO board (like the official raspberry cm1/cm3 io board).

Nicolai
smartheit
Posts: 6
Joined: 25 Feb 2022, 08:56

Re: OS Image upgrade on RevPi flat

Post by smartheit »

Hi Nicolai,
thanks for your reply. This is not good. I cannot design a product with an already obsolete Linux Kernel (shipped with 4.19).
So no way to boot entirely from a USB stick?
Marco
User avatar
nicolaiB
KUNBUS
Posts: 931
Joined: 21 Jun 2018, 10:33
Location: Berlin
Contact:

Re: OS Image upgrade on RevPi flat

Post by nicolaiB »

Hi Marco,

no this is not possible and also not something we can control, as this is related to the raspberry CM SOM. If you have to flash a custom image you can open the enclosure and flash the compute module via an external IO board. Besides that we are currently working on a Kernel 5.10 release, which we will ship soonish. You can find all relevant sources on our GitHub account.

Nicolai
smartheit
Posts: 6
Joined: 25 Feb 2022, 08:56

Re: OS Image upgrade on RevPi flat

Post by smartheit »

Hi Nicolai,
is there a guide on how to do that with the external IO Module? I don't even see screws to open the RevPi flat...
However, I also want to avoid that.

Normally u-boot is used in embedded systems but if I look at the boot partition I do not see the binary:

Code: Select all

smartheit@RevPi468660:~$ ls /boot/ -als
total 23350
   4 drwxr-xr-x  3 root root    4096 Jan  1  1970 .
   4 drwxr-xr-x 21 root root    4096 Nov  3  2016 ..
  24 -rwxr-xr-x  1 root root   23938 Feb 25 08:37 bcm2708-rpi-b.dtb
  ..
  .
  52 -rwxr-xr-x  1 root root   52296 Nov  5  2020 bootcode.bin
   1 -rwxr-xr-x  1 root root     166 Mar  4 08:48 cmdline.txt
   1 -rwxr-xr-x  1 root root     154 Nov  5  2020 cmdline.txt.bak
   2 -rwxr-xr-x  1 root root    1725 Feb 25 08:37 config.txt
  19 -rwxr-xr-x  1 root root   18693 Feb 25 08:37 COPYING.linux
  56 -rwxr-xr-x  1 root root   56850 Feb 25 08:37 dt-blob.bin
   3 -rwxr-xr-x  1 root root    2644 Nov  5  2020 fixup_cd.dat
   7 -rwxr-xr-x  1 root root    6729 Nov  5  2020 fixup.dat
  10 -rwxr-xr-x  1 root root    9801 Nov  5  2020 fixup_db.dat
  10 -rwxr-xr-x  1 root root    9801 Nov  5  2020 fixup_x.dat
   1 -rwxr-xr-x  1 root root     145 Apr  8  2019 issue.txt
5435 -rwxr-xr-x  1 root root 5565432 Feb 25 08:37 kernel7.img
5257 -rwxr-xr-x  1 root root 5382552 Feb 25 08:37 kernel.img
   2 -rwxr-xr-x  1 root root    1494 Nov  5  2020 LICENCE.broadcom
  19 -rwxr-xr-x  1 root root   18974 Apr  8  2019 LICENSE.oracle
  17 drwxr-xr-x  2 root root   17408 Feb 25 08:37 overlays
 670 -rwxr-xr-x  1 root root  685572 Nov  5  2020 start_cd.elf
4742 -rwxr-xr-x  1 root root 4855080 Nov  5  2020 start_db.elf
2811 -rwxr-xr-x  1 root root 2878340 Nov  5  2020 start.elf
3704 -rwxr-xr-x  1 root root 3792520 Nov  5  2020 start_x.elf
Would it be possible to have u-boot with networking capabilities and the u-boot shell on ttyAMA0 or ttyS0 ?
In u-boot both filesystems can be accessed, the vfat boot partition and the ext4 root partition.

Best regards
Marco
ufozone
Posts: 2
Joined: 18 Mar 2022, 12:07

Re: OS Image upgrade on RevPi flat

Post by ufozone »

Hello,

@smartheit, there is no easy way to flash a new firmware, however there is the possibility for an in-place upgrade from stretcht to buster. All revpi sources are pulled up.

Find all stretch sources:
grep -lnr stretch /etc/apt

Replace stretch with buster in all found files, e.g.:
sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list

Update sources and upgrade all packages:
sudo apt-get update && apt-get upgrade

If everything is fine, upgrade the distribution:
sudo apt-get dist-upgrade

Check the release notes on breakting changes:
https://revolutionpi.com/tutorials/release-notes-4/

In my case, e.g. pictory is only reachable under port 41080. The forwarding was not configured automatically during the upgrade.

@nicolaiB, are there any instructions on how to open the enclosure reversibly? Can you please make a fifty words tutorial on how we need to get it open and place the IO module?


Edit: The code BBcode does not work more than once per post?!
Last edited by ufozone on 18 Mar 2022, 12:43, edited 1 time in total.
smartheit
Posts: 6
Joined: 25 Feb 2022, 08:56

Re: OS Image upgrade on RevPi flat

Post by smartheit »

Hello ufozone
I am not saying to flash the emmc but replacing the files.
So in the FAT32 partition are the boot files, bootloader, kernel, device tree.
When the system is up I can access the files located in boot ( /dev/mmcblk0p1 )

The problem I have is that I am blind during the first part of the boot phase, the boot printfs are probably configured for HDMI while the RevPi flat does only have two RS485.

So the Idea is to replace the bootloader binary file in /dev/mmcblk0p1 (or /boot) when device is up and running.

The new bootloader is compiled with the following features:
- using one of the two serial ports for console
- Network capabilities (including nfs)
- ext4 and fat32 support

So now I could Interrupt u-boot, fetch an update image via nfs and but this. The update image has a initramfs and is not touching the emmc partitions.
Now there are two options:
1) fetching the whole new iso image and flashing it to /dev/mmcblk0
2) Deleting/ replacing the files on the fat32 and ext4 partition.

Why should this not work?

The only thing I need is a tested u-boot binary for the RevPi flat.
Post Reply