elementary / os

The OS build system
https://elementary.io
GNU General Public License v3.0
1.02k stars 132 forks source link

Raspberry Pi: bump to noble #726

Closed danirabbit closed 4 weeks ago

danirabbit commented 1 month ago

Fixes #722

danirabbit commented 1 month ago

Looks like we don't run workflows for PRs here, so no idea how to know if this works or not. But afaict that's all it would take :shrug:

ryonakano commented 1 month ago

Hmm I tried building this image locally using the command written in README but it failed:

Reading package lists...
Building dependency tree...
Reading state information...
Package 'yelp' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
  git* git-man* liberror-perl*
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 24.7 MB disk space will be freed.
(Reading database ... 111084 files and directories currently installed.)
Removing git (1:2.43.0-1ubuntu7.1) ...
Removing git-man (1:2.43.0-1ubuntu7.1) ...
Removing liberror-perl (0.17029-2) ...
Processing triggers for man-db (2.12.0-4build2) ...
(Reading database ... 110002 files and directories currently installed.)
Purging configuration files for git (1:2.43.0-1ubuntu7.1) ...
./build-rpi.sh: line 146: elementary-arm64/etc/flash-kernel/db: No such file or directory
[ryo@b760m ~/work/elementary/os (8.0/rpi =)]$
davidmhewitt commented 1 month ago

I've pushed another commit that removes an old workaround and some packages that don't seem to exist or be necessary anymore.

It builds now, but I haven't tested the built image.

ryonakano commented 1 month ago

Hmm it still fails to build for me.

The following packages will be REMOVED:
  git* git-man* liberror-perl*
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 24.7 MB disk space will be freed.
(Reading database ... 123589 files and directories currently installed.)
Removing git (1:2.43.0-1ubuntu7.1) ...
Removing git-man (1:2.43.0-1ubuntu7.1) ...
Removing liberror-perl (0.17029-2) ...
Processing triggers for man-db (2.12.0-4build2) ...
(Reading database ... 122507 files and directories currently installed.)
Purging configuration files for git (1:2.43.0-1ubuntu7.1) ...
du: cannot access 'elementary-arm64/proc/119455/task/119455/fd/3': No such file or directory
du: cannot access 'elementary-arm64/proc/119455/task/119455/fdinfo/3': No such file or directory
du: cannot access 'elementary-arm64/proc/119455/fd/4': No such file or directory
du: cannot access 'elementary-arm64/proc/119455/fdinfo/4': No such file or directory
Creating image file
Warning: The resulting partition is not properly aligned for best performance: 1s % 2048s != 0s
Warning: The resulting partition is not properly aligned for best performance: 500001s % 2048s != 0s
losetup: /working_dir/artifacts/elementary-rpi/elementaryos-8.0-daily-rpi-20241027.img: failed to set up loop device: No such file or directory
[ryo@b760m ~/work/elementary/os (8.0/rpi =)]$

The image file exists in the path displayed though:

[ryo@b760m ~/work/elementary/os (8.0/rpi =)]$ file artifacts/elementary-rpi/elementaryos-8.0-daily-rpi-20241027.img
artifacts/elementary-rpi/elementaryos-8.0-daily-rpi-20241027.img: DOS/MBR boot sector; partition 1 : ID=0xc, start-CHS (0x0,0,2), end-CHS (0x3ff,3,32), startsector 1, 500000 sectors; partition 2 : ID=0x83, start-CHS (0x3ff,3,32), end-CHS (0x3ff,3,32), startsector 500001, 21518143 sectors
[ryo@b760m ~/work/elementary/os (8.0/rpi =)]$
davidmhewitt commented 1 month ago

That's a strange error that I haven't seen before and the code relating to the image file creation hasn't changed.

How is docker installed? Is it official docker or something like podman?

I'd be tempted to merge this anyway and see if it succeeds in GitHub actions. I think the Raspberry Pi images are broken anyway, right? So this might fix them, or might break them more 😂

stsdc commented 4 weeks ago
Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
Downloading s3transfer-0.10.3-py3-none-any.whl (82 kB)
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Downloading urllib3-2.2.3-py3-none-any.whl (126 kB)
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: urllib3, six, jmespath, python-dateutil, botocore, s3transfer, boto3
Successfully installed boto3-1.35.50 botocore-1.35.50 jmespath-1.0.1 python-dateutil-2.9.0.post0 s3transfer-0.10.3 six-1.16.0 urllib3-2.2.3
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
Traceback (most recent call last):
  File "/working_dir/upload.py", line 9, in <module>
    client = session.client('s3',
  File "/usr/local/lib/python3.10/dist-packages/boto3/session.py", line 297, in client
    return self._session.create_client(
  File "/usr/local/lib/python3.10/dist-packages/botocore/session.py", line 997, in create_client
    client = client_creator.create_client(
  File "/usr/local/lib/python3.10/dist-packages/botocore/client.py", line 165, in create_client
    client_args = self._get_client_args(
  File "/usr/local/lib/python3.10/dist-packages/botocore/client.py", line 524, in _get_client_args
    return args_creator.get_client_args(
  File "/usr/local/lib/python3.10/dist-packages/botocore/args.py", line 138, in get_client_args
    endpoint = endpoint_creator.create_endpoint(
  File "/usr/local/lib/python3.10/dist-packages/botocore/endpoint.py", line 408, in create_endpoint
    raise ValueError(f"Invalid endpoint: {endpoint_url}")
ValueError: Invalid endpoint: https://
stsdc@desktop:~/projects/os$ 

For me it failed here

davidmhewitt commented 4 weeks ago

@stsdc actually, that's normal, but very unclear and confusing I admit 😂

The script tries to upload to the elementary storage. But can't as it doesn't have credentials when running locally.

You will actually have a built image in the artifacts/elementary-rpi folder.

stsdc commented 4 weeks ago

Allright! In that case I will try to boot from this image that I have built and let you know!

stsdc commented 4 weeks ago

Booted successfully!