ublue-os / bazzite

Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.
https://bazzite.gg
Apache License 2.0
3.9k stars 229 forks source link

Build my own Bazzite ISO failed #1198

Open kean0048 opened 4 months ago

kean0048 commented 4 months ago

Describe the bug

After fork to my own space, start actions to build the ISO image, failed the step of "Upload ISOs and Checksum to R2" like below:

2024/06/02 10:49:19 NOTICE: Config file "/home/runner/.config/rclone/rclone.conf" not found - using defaults 2024/06/02 10:49:19 ERROR : : error reading destination directory: RequestError: send request failed caused by: Get "https://s3.auto.amazonaws.com/bazzite?delimiter=%2F&max-keys=1000&prefix=": dial tcp: lookup s3.auto.amazonaws.com: no such host 2024/06/02 10:49:19 ERROR : Attempt 1/3 failed with 1 errors and: RequestError: send request failed caused by: Get "https://s3.auto.amazonaws.com/bazzite?delimiter=%2F&max-keys=1000&prefix=": dial tcp: lookup s3.auto.amazonaws.com: no such host 2024/06/02 10:49:19 ERROR : : error reading destination directory: RequestError: send request failed caused by: Get "https://s3.auto.amazonaws.com/bazzite?delimiter=%2F&max-keys=1000&prefix=": dial tcp: lookup s3.auto.amazonaws.com: no such host 2024/06/02 10:49:19 ERROR : Attempt 2/3 failed with 1 errors and: RequestError: send request failed caused by: Get "https://s3.auto.amazonaws.com/bazzite?delimiter=%2F&max-keys=1000&prefix=": dial tcp: lookup s3.auto.amazonaws.com: no such host 2024/06/02 10:49:19 ERROR : : error reading destination directory: RequestError: send request failed caused by: Get "https://s3.auto.amazonaws.com/bazzite?delimiter=%2F&max-keys=1000&prefix=": dial tcp: lookup s3.auto.amazonaws.com: no such host 2024/06/02 10:49:19 ERROR : Attempt 3/3 failed with 1 errors and: RequestError: send request failed caused by: Get "https://s3.auto.amazonaws.com/bazzite?delimiter=%2F&max-keys=1000&prefix=": dial tcp: lookup s3.auto.amazonaws.com: no such host 2024/06/02 10:49:19 Failed to copy: RequestError: send request failed caused by: Get "https://s3.auto.amazonaws.com/bazzite?delimiter=%2F&max-keys=1000&prefix=": dial tcp: lookup s3.auto.amazonaws.com: no such host

Please help me figure out what I should do next. Any feedback will be appreciated. Thanks

What did you expect to happen?

Get new bazzite ISOs.

Output of rpm-ostree status

I'm working on Debian 12, so ...

Hardware

No response

Extra information or context

First time building in this way.

TeamLinux01 commented 4 months ago

By default, it will try to upload to an S3 bucket and you have to provide credentials for it, if that is what you want to upload to.

https://github.com/TeamLinux01/bazzite/commit/4d32f3b39c84d96407098355cad5dbf46602883a

I made some modifications to the build_iso.yml workflow and entered secrets variables to connect to my personal server to receive the ISO over sftp.

I also commented out building other images other than bazzite-deck.

Just because it takes a long time to build, I created a test script for rclone settings.

Not sure that this is the best way to do it, but hopefully it helps you out. Have fun!

kean0048 commented 4 months ago

Hi @TeamLinux01, Thanks for your guidance, I will try it, and until now I have not success release one version, unhappy.

I also have 2 issues when I build in local found: 1) why we need install lots of i686 packages? It broken when compile there. 2) Can I get the ***.iso by run ' sudo ./just_scripts/build-iso.sh deck gnome gnome'? if I only want to get the same feature with bazzite for deck.

Thanks.

kean0048 commented 4 months ago

Hi @TeamLinux01,

more issue is when I update my cosign.pub and add the private key to SIGNING_SECRET in settings, if i run build.yum, will failed at the Verify main image step, like:

Run EyeCantCU/cosign-action/verify@v0.2.2 Run sigstore/cosign-installer@v3.3.0 Run #!/bin/bash INFO: Downloading bootstrap version 'v2.2.2' of cosign to verify version to be installed... https://github.com/sigstore/cosign/releases/download/v2.2.2/cosign-linux-amd64 INFO: bootstrap version successfully verified and matches requested version so nothing else to do Run echo "$HOME/.cosign" >> $GITHUB_PATH Run REGISTRY=$(echo ghcr.io/kean0048 | awk '{print tolower($0)}') Error: GET https://ghcr.io/token?scope=repository%3Akean0048%2Fkinoite-main%3Apull&service=ghcr.io: DENIED: requested access to the resource is denied main.go:69: error during command execution: GET https://ghcr.io/token?scope=repository%3Akean0048%2Fkinoite-main%3Apull&service=ghcr.io: DENIED: requested access to the resource is denied NOTICE: Verification failed. Please ensure your public key is correct. Error: Process completed with exit code 1.

for the NOTICE info, I have double confirm that I add the right pub and key to the right positon, why happend this? if you know please help me to clarify it.

image

Thanks.

kean0048 commented 4 months ago

Hi @TeamLinux01, image I checked there is a file named bazzite under my sftp directory, and I also add those secrets variables in my settings image

where am I wrong? Any feedback will be appreciated. Thanks.

TeamLinux01 commented 4 months ago

Hey @kean0048,

I know I had some issues originally setting up the PS_KEY_PEM as I believe it has to be formatted as one line, so each line break in the private key format would use the newline character, \n.

So it should look something like

------Private Key-------\n123456789\nabcdefg\n012345678\nhijklmenop\n9012345678

It won't be able to load the ssh key file otherwise if it isn't one line.

Hopefully that helps. I don't have a real private key in front of me to reference, so hopefully I described it correctly.

kean0048 commented 4 months ago

Hi @TeamLinux01, Yes, I also found that, and the key_pem worked, but there is another new issus: If I config the ssh to login with sftp, I found the ssh seems has some problems in login, so will be prompt like this: image

my sshd_config like: image

Thanks.

kean0048 commented 4 months ago

More update: My ssh and sftp all works smoothly during my testing and also the directory has been authored with 755.

and ignore the differ of the two screenshots, because I modified the path, but during my testing they are the same.

Thanks.

TeamLinux01 commented 4 months ago

Are you all setup now and building your ISOs and sending them over ssh, @kean0048?

kean0048 commented 4 months ago

Hi TeamLinux01, Thank you for your feedback. So far I haven't succeeded, but I'm trying to publish the ISO in the local version and it works, but I always have some confusing issues:

error: Could not depsolve transaction; 5 problems detected: Problem 1: package kmod-zenergy-6.9.4-201.fsync.fc40.x86_64-0.0.git.34.f9ad79d4-1.fc40.x86_64 from @commandline requires kernel-uname-r = 6.9.4-201.fsync.fc40.x86_64, but none of the providers can be installed

Are these conflicts related to my build environment? I am working with Fedora40(6.9.4-200). Thanks.

kean0048 commented 3 months ago

Hi, Would anyone be able to help me? Sometimes it can be compiled successfully, but sometimes conflicts arise with these libraries. What is the reason for this? Do I need to pull the code again whenever I have such conflicts? Why is even clearing all modifications on old code useless? Conflicts libs are differents every time. Thanks.

TeamLinux01 commented 3 months ago

I really only looked at the github action so that it sends it over to a machine you own via sftp and not the S3 that is set by the original repo.

I haven't actually spend time making modifications, so I don't really know how to help with that yet.

kean0048 commented 3 months ago

Thanks, @TeamLinux01 would you like to share the configuration of SFTP? and after your help of the private key setting, it still failed: image I don't know the root cause.

Thanks.

TeamLinux01 commented 3 months ago

Thanks, @TeamLinux01 would you like to share the configuration of SFTP? and after your help of the private key setting, it still failed: image I don't know the root cause.

Thanks.

https://github.com/TeamLinux01/bazzite/commit/4d32f3b39c84d96407098355cad5dbf46602883a

It also requires setting up secrets in the repo.

PS_HOST # hostname or IP address of STFP service on host machine
PS_PORT # TCP port of STFP service on host machine
PS_USER # User account name which as access to STFP service on host machine
PS_KEY_PEM # Private Key in PEM format as a single line https://serverfault.com/questions/466683/can-an-ssl-certificate-be-on-a-single-line-in-a-file-no-line-breaks#466686

As for using the Github Container Registry, I haven't set that up myself yet, but it looks like it is failing do to it not being authenticated with the registry at time of upload or the authenticated action doesn't have permission to write to the registry for that repo.

TeamLinux01 commented 3 months ago

I should point out that you will want to push your image to a container registry anyways, even if you move the installer ISO to a place via SFTP or otherwise, as in order to get updates, you will be pulling that image on clients.