[Sugar-devel] Regarding the Sugar on Raspberry Pi project

James Cameron quozl at laptop.org
Mon Mar 27 20:09:04 EDT 2023


Hello Simrann,

I've just now tested https://github.com/drtyhlpr/rpi23-gen-image on a
Debian 10 Buster 64-bit system, and it got past the debootstrap stage,
compiled a kernel, generated an image, but failed with "losetup:
cannot find an unused loop device".  I did not see an exec format
error.  The method was;

```
apt install -y git debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git bc psmisc dbus sudo crossbuild-essential-armhf crossbuild-essential-armel bison flex libssl-dev
git clone https://github.com/drtyhlpr/rpi23-gen-image.git
cd rpi23-gen-image
./rpi23-gen-image.sh
```

I suggest making sure you are using the operating system versions
described in the README.md file, and the HEAD of the master branch.

Do not use the Sugar Labs fork of the repository, as it is very old.

Do engage with the rpi23-gen-image project; it is not part of Sugar
Labs, and we have not used it for a while.  Your problem with
debootstrap is best answered there, or by reading the debootstrap
or Linux source code.

I'm not a mentor for Google Summer of Code this year, but I've a few
things to say.

I doubt that rpi23-gen-image is suitable for your project.  It is for
making images.  It is an external tool, and not part of the workflow
of either the Raspberry Pi Foundation, Debian Project, or Fedora
Project.  These projects use other tools to prepare their images,
based on their package archives.

Sugar is available for Raspberry Pi on Debian, Fedora, and Raspberry
Pi OS already.

Raspberry Pi OS does not include Sugar in the images, but it can be
installed.  This is because Raspberry Pi OS is based on Debian.

The Fedora Sugar on a Stick images are available for Raspberry Pi.

The number of organisations involved that are not Sugar Labs makes
your project a challenge.  Mentors working for Sugar Labs can't easily
affect the other projects or make resources available for you.  You
should ask your mentors to better define the scope, without creating
work dependencies on other organisations.

Sugar on Raspberry Pi does have several bugs, and does not have
Raspberry Pi specific extensions.

Fixing those bugs is a matter of either (a) fixing our software in a
Sugar Labs repository, (b) fixing packaging in the Fedora or Debian
Projects, and (c) waiting for the fixes to reach the released images.
That wait always exceeds the time available for Google Summer of Code.

Adding features specific to the Raspberry Pi is important.  For that,
you will need a Raspberry Pi, and electronics components and tools.
If you've worked on Arduino previously, this will be easy.  You will
write software in Sugar Labs repositories, such as Turtle Blocks,
Measure, and Pippy.

References:

https://arm.fedoraproject.org/
https://spins.fedoraproject.org/en/soas/
https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi
https://github.com/sugarlabs/sugar/blob/master/docs/rpi-soas.md
https://github.com/sugarlabs/sugar/blob/master/docs/rpi.md
https://github.com/sugarlabs/sugar/blob/master/docs/debian.md
https://wiki.sugarlabs.org/go/Raspberry_Pi

On Tue, Mar 28, 2023 at 03:09:48AM +0530, Simrann Arora wrote:
> Hi Mentors, 
> 
> Hope you all are doing well!
> 
> My name is Simrann Arora and I am an aspiring GSoC 2023 contributor. I have
> been actively trying to contribute to the 'Sugar on Raspberry Pi' project that
> has been selected for GSoC this year. As far as my progress is concerned, till
> now I have completed the following tasks: 
> - Setting up Debian version 11(bullseye) VM on my mac using Parallels Desktop,
> earlier I had installed Ubuntu 23.04 using VMware Fusion
> - Cloning the rpi23-gen-image repo for building Sugar OS image.
> - I tried running the rpi23-gen-image builder script but I am getting this
> error:
> ```
>  chroot: failed to run command '/debootstrap/debootstrap': Exec format error.
> ```
> 
> I did some research to fix this, and found out that it might have occured due
> to the architecture mismatch of the chroot environment and the command that I
> am using to run the script, like suppose the chroot environment is 64-bit and
> the executable is 32-bit. Another reason could be that the executable is not
> compatible with the OS or the linux distro within the chroot environment.
> 
> - To fix this, I created a chroot environment of Debian version 9 (stretch)
> within my Debian 11 distro to make it compatible with the `rpi3stretch-sugar`
> template as given in the `rpi23-gen-image` repository and cloned it.
> However, when I ran the script, I encountered the same error:
> ```
>  chroot: failed to run command '/debootstrap/debootstrap': Exec format error. 
> ```
> 
> To further troubleshoot this, I tried installing the `binfmts support` and
> enabling qemu-arm within the chroot. 
> Again I got an error:  `update-binfmts: warning: qemu-arm not in database of
> installed binary formats. `
> 
> Now to fix this one I tried reinstalling qemu-user-static and enabling it but
> it says that it might be possible that this package isn't installed in my
> system's repo or I need to use another repo for the same.
> 
> I would like to request the mentors to guide me further on this and discuss the
> next steps of implementation and the project requirements. 
> I am very keen on working on this project, gaining in-depth understanding on
> this and taking it further.
> 
> Also, as the proposal deadline is just around the corner, I would be really
> grateful if I could connect with all the mentors on a Zoom/GMeets call to
> discuss the project
> 
> Thanks a lot
> Simrann Arora
> GitHub Handle - @simrann20
> 
> *


More information about the Sugar-devel mailing list