RoninOS docker builds #2

Merged
dojocoder merged 47 commits from :develop into develop 2025-08-15 17:59:01 +00:00

Getting docker builds working...

Getting docker builds working...
Author
Owner

According to latest commit: set BUILD_DOCKER=no if a native build is desired on ARM instead of docker build on x86

According to latest commit: set BUILD_DOCKER=no if a native build is desired on ARM instead of docker build on x86
Author
Owner

my apologies for the comment mixup on previous commit 05e9957a55, fixed in next commit 1576af1589

my apologies for the comment mixup on previous commit 05e9957a55609eff610e32ad2f5363268292fcfa, fixed in next commit 1576af1589c5630c32c0d9e775963a000b2a228d
liberate_on_chain changed title from WIP: RoninOS docker builds to RoninOS docker builds 2025-06-13 15:25:56 +00:00
Author
Owner

Please run ./build-roninos.sh and inform results

The defaults.sh file should be set to

OS_BRANCH="origin/develop"
RD_BRANCH="origin/develop"
DOJO_BRANCH="origin/develop"

OS_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/RoninOS.git"
RD_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/ronindojo.git"
DOJO_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/dojo.git"

When the customize-image.sh script is ran in build process, I do see error

sudo: unable to resolve host 8fbefb98d8dc: System error

So far I assume this error is related to hostname in the chroot-like environment that mimics the target system

Please run `./build-roninos.sh` and inform results The defaults.sh file should be set to ``` OS_BRANCH="origin/develop" RD_BRANCH="origin/develop" DOJO_BRANCH="origin/develop" OS_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/RoninOS.git" RD_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/ronindojo.git" DOJO_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/dojo.git" ``` When the `customize-image.sh` script is ran in build process, I do see error ``` sudo: unable to resolve host 8fbefb98d8dc: System error ``` So far I assume this error is related to hostname in the chroot-like environment that mimics the target system
Author
Owner

Build logs as of latest commit

https://paste.armbian.com/ejunajohol

Build logs as of latest commit https://paste.armbian.com/ejunajohol
Member

Please alter clone_armbian() such that

  • the function name reflects it not only clones, but first removes an existing clone (i.e. reclone_armbian() )
  • the calls to git config are moved to separate new functions, i.e. :
    • set_git_tor_proxy()
    • unset_git_proxy()

Please alter build-roninos.sh such that

  • the script clearly shows at which point git is using the tor proxy, i.e. :
    • the sequence of clone calls are preceded with a call to set_git_tor_proxy()
Please alter clone_armbian() such that - the function name reflects it not only clones, but first removes an existing clone (i.e. reclone_armbian() ) - the calls to git config are moved to separate new functions, i.e. : - set_git_tor_proxy() - unset_git_proxy() Please alter build-roninos.sh such that - the script clearly shows at which point git is using the tor proxy, i.e. : - the sequence of clone calls are preceded with a call to set_git_tor_proxy()
Author
Owner

Please alter clone_armbian() such that

  • the function name reflects it not only clones, but first removes an existing clone (i.e. reclone_armbian() )
  • the calls to git config are moved to separate new functions, i.e. :
    • set_git_tor_proxy()
    • unset_git_proxy()

Please alter build-roninos.sh such that

  • the script clearly shows at which point git is using the tor proxy, i.e. :
    • the sequence of clone calls are preceded with a call to set_git_tor_proxy()

ok latest commit 26fbd946bf should address

> Please alter clone_armbian() such that > > - the function name reflects it not only clones, but first removes an existing clone (i.e. reclone_armbian() ) > - the calls to git config are moved to separate new functions, i.e. : > - set_git_tor_proxy() > - unset_git_proxy() > > Please alter build-roninos.sh such that > > - the script clearly shows at which point git is using the tor proxy, i.e. : > - the sequence of clone calls are preceded with a call to set_git_tor_proxy() ok latest commit 26fbd946bfb515a9a8d11f933cdecea529c0298b should address
Author
Owner

Updated testing directions below and fastest method is to open clean VM that is Windows Subsystem Linux (WSL in Windows app store), Ubuntu 24.04 Noble, or Debian 12 Bookworm

  1. Prepare
cd $HOME
sudo apt-get update
sudo apt-get install git tor
git config --global --unset http.proxy
git config --global http.proxy socks5h://127.0.0.1:9050
git clone http://2l2o5umijiwxjioxwpsvwxe6pr75tj7r5rggnl5ze256guwvtee3kpqd.onion/liberate_on_chain/RoninOS.git
cd $HOME/RoninOS/
git fetch
git checkout develop
  1. Use nano /$HOME/RoninOS/defaults.sh to edit the defaults.sh script to modify build variables
OS_BRANCH="origin/develop"
RD_BRANCH="origin/develop"
DOJO_BRANCH="origin/develop"

OS_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/RoninOS.git"
RD_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/ronindojo.git"
DOJO_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/dojo.git"
  1. Run the build script. On first run, you will be asked to reboot to apply changes
cd RoninOS && ./build_roninOS.sh
Updated testing directions below and fastest method is to open clean VM that is Windows Subsystem Linux (WSL in Windows app store), Ubuntu 24.04 Noble, or Debian 12 Bookworm 1. Prepare ``` cd $HOME sudo apt-get update sudo apt-get install git tor git config --global --unset http.proxy git config --global http.proxy socks5h://127.0.0.1:9050 git clone http://2l2o5umijiwxjioxwpsvwxe6pr75tj7r5rggnl5ze256guwvtee3kpqd.onion/liberate_on_chain/RoninOS.git cd $HOME/RoninOS/ git fetch git checkout develop ``` 2. Use `nano /$HOME/RoninOS/defaults.sh` to edit the `defaults.sh` script to modify build variables ``` OS_BRANCH="origin/develop" RD_BRANCH="origin/develop" DOJO_BRANCH="origin/develop" OS_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/RoninOS.git" RD_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/ronindojo.git" DOJO_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/dojo.git" ``` 3. Run the build script. On first run, you will be asked to reboot to apply changes ``` cd RoninOS && ./build_roninOS.sh ```
build-roninos.sh Outdated
@ -0,0 +34,4 @@
fi
# Run initial x86 or ARM setup then stop script and inform user to reboot to apply changes
if [[ "${ARCH}" == "x86_64" ]]; then

There is some amount of overlap in the procedures implemented in the functions _setup_x86 and _setup_arm.

Is it possible to structure this sequence as a standardized procedure, where only the deviations are present in the CPU architecture specific functions?

An example would be:

  1. The code here in this script, this full if-elif-fi block, gets moved to a new function, proposed name: "_setup_for_found_arch"
  2. The code in this new function does no more than what the full if-elif-fi block does
  3. Move the current code overlap of the 2 architecture specific functions, which is the last 3 function calls, to this script (build-ronin-os.sh) after the call to the new function _setup_for_found_arch:
  • _is_tor_running
  • _mark_reboot
  • _mark_setup

Any further standardization of the procedure can be done at your own discretion (i.e. nothing at all, or as much as you want).

There is some amount of overlap in the procedures implemented in the functions _setup_x86 and _setup_arm. Is it possible to structure this sequence as a standardized procedure, where only the deviations are present in the CPU architecture specific functions? An example would be: 1. The code here in this script, this full if-elif-fi block, gets moved to a new function, proposed name: "_setup_for_found_arch" 2. The code in this new function does no more than what the full if-elif-fi block does 3. Move the current code overlap of the 2 architecture specific functions, which is the last 3 function calls, to this script (build-ronin-os.sh) after the call to the new function _setup_for_found_arch: - _is_tor_running - _mark_reboot - _mark_setup Any further standardization of the procedure can be done at your own discretion (i.e. nothing at all, or as much as you want).
liberate_on_chain marked this conversation as resolved
@ -0,0 +91,4 @@
_print_message "The tor service is running..."
else
_print_error_message "The tor service is NOT running..."
exit 1

please use "return 1" instead of "exit 1" for functions that merely indicate a true/false situation (as the function name indicates).

Otherwise, any function that is intentionally to stop the current shell's execution based on such a check, should explicitly use the word "assert" in the function name to indicate that the script is to not continue at all if the check fails. Example function name: _assert_is_tor_running

please use "return 1" instead of "exit 1" for functions that merely indicate a true/false situation (as the function name indicates). Otherwise, any function that is intentionally to stop the current shell's execution based on such a check, should explicitly use the word "assert" in the function name to indicate that the script is to not continue at all if the check fails. Example function name: _assert_is_tor_running
liberate_on_chain marked this conversation as resolved
Author
Owner

added above comments to my list, will attempt to resolve these comments as soon as possible

currently the builds are going good after latest commit, new options are now available

# New RoninOS build options

## Main branch
./build-roninos rock-5b-plus
./build-roninos rockpro64
./build-ronionos rpi4b

## Develop branch
./build-roninos rock-5b-plus develop
./build-roninos rockpro64 develop
./build-ronionos rpi4b develop
added above comments to my list, will attempt to resolve these comments as soon as possible currently the builds are going good after latest commit, new options are now available ``` # New RoninOS build options ## Main branch ./build-roninos rock-5b-plus ./build-roninos rockpro64 ./build-ronionos rpi4b ## Develop branch ./build-roninos rock-5b-plus develop ./build-roninos rockpro64 develop ./build-ronionos rpi4b develop ```
Author
Owner

updated testing instructions!

try using an x86 virtual machine to do the build like debian 12, and run these commands to clone repo:

cd $HOME
sudo apt-get update
sudo apt-get install git tor
git config --global --unset http.proxy
git config --global http.proxy socks5h://127.0.0.1:9050
git clone http://2l2o5umijiwxjioxwpsvwxe6pr75tj7r5rggnl5ze256guwvtee3kpqd.onion/Ronin/RoninOS.git

please try any of the following:

./build-roninos.sh rockpro64 develop
./build-roninos.sh rock-5b-plus develop
./build-roninos.sh rpi4b develop
./build-roninos.sh rockpro64
./build-roninos.sh rock-5b-plus
./build-roninos.sh rpi4b

the defaults.sh file should be set to:

OS_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/RoninOS.git"
RD_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/ronindojo.git"
DOJO_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/dojo.git"
updated testing instructions! try using an x86 virtual machine to do the build like debian 12, and run these commands to clone repo: ``` cd $HOME sudo apt-get update sudo apt-get install git tor git config --global --unset http.proxy git config --global http.proxy socks5h://127.0.0.1:9050 git clone http://2l2o5umijiwxjioxwpsvwxe6pr75tj7r5rggnl5ze256guwvtee3kpqd.onion/Ronin/RoninOS.git ``` please try any of the following: ``` ./build-roninos.sh rockpro64 develop ./build-roninos.sh rock-5b-plus develop ./build-roninos.sh rpi4b develop ./build-roninos.sh rockpro64 ./build-roninos.sh rock-5b-plus ./build-roninos.sh rpi4b ``` the defaults.sh file should be set to: ``` OS_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/RoninOS.git" RD_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/ronindojo.git" DOJO_REPO="http://${MAIN_REPO_ONION}/liberate_on_chain/dojo.git" ```
Member

New changes ACK.

Approval pending previous comments having been processed in new changes.

New changes ACK. Approval pending previous comments having been processed in new changes.
TexMechanicaLW changed title from RoninOS docker builds to WIP: RoninOS docker builds 2025-07-08 14:06:24 +00:00
TexMechanicaLW changed target branch from develop to feature/docker-builds 2025-07-08 14:06:25 +00:00
Member

Changed target branch to feature/docker-builds
Edit changed back to develop as target for time being. Ideally we would use a feature branch for this.

Once testing complete:

  1. Remove WIP
  2. @Zelko will merge into develop
  3. Maybe a blog post would be a good idea?

This is very helpful.

Changed target branch to feature/docker-builds ***Edit*** changed back to develop as target for time being. Ideally we would use a feature branch for this. Once testing complete: 1. Remove WIP 2. @Zelko will merge into develop 3. Maybe a blog post would be a good idea? This is very helpful.
TexMechanicaLW changed target branch from feature/docker-builds to develop 2025-07-08 14:11:44 +00:00
Author
Owner

New changes ACK.

Approval pending previous comments having been processed in new changes.

I believe this resolves all pending previous comments @NullFireFear and will begin final testing for release

> New changes ACK. > > Approval pending previous comments having been processed in new changes. I believe this resolves all pending previous comments @NullFireFear and will begin final testing for release
Author
Owner

another note I see my commits are marked as "signed by untrusted user" because I changed email in the middle of this open PR but did not change PGP key

when creating a test PR and doing commit I see that the commits are marked as trusted so this issue should not persist in any future PRs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

this is a message to prove I am still in control of the original liberate_on_chain PGP key

the only change made was migrating to new email

sorry for any confusion
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE3qMbSAdiEaotkV2UmSZaanCDyp8FAmiBKBNfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldERF
QTMxQjQ4MDc2MjExQUEyRDkxNUQ5NDk5MjY1QTZBNzA4M0NBOUYACgkQmSZaanCD
yp99dQ/+IDgvxs3+ULHAhHIq733+UGqFHbQr9QNXi3MKrFULlMkrPnpV1hgnp0xh
MwOSwcSqwf8koOB9i7YfsKpiDK4uUA9YrNNdCctgAdZAxxnrV62glgb2JGBYmaI1
a/IORfhP95y1RoLF7DiY61GWwyj/smOyiXTktA6YbRAouSNLNnYj92h8ZtJzLgG7
HD6Ns+kr9olcBvVubDJwpkKAdXPDCXWIF7Sr4ojc6fDtuvLjo1wXZwFFOp+Slj3K
13vLBTWm3+KNV4XKf+omzJ5rFeWYsiLjNgERO1S3pOeVABCBlOIlXgy3dDb1u5C3
K+wleyotNvXsKl4rrB3i0fmxcVOEo95702heFntmDiJ94G+hmU0lceHpATEDA6UW
25L3hiCF4EIjSd7dlWEUcrrfd/Gv8n7odhh+hpC45l4kNU8unEn16x87adcPDwor
FRuEEqdlwz9DYwjus592eRmmELPaHIi4RDuywIhvO98f/KD/m62bDi72N1bBCSxI
vxWidCB/2GbxNnuQICCDBiuPYyHFIT/5DOEs5y9KGPQldLVANUTbhVngZ8R5FocI
j/2dI4caef69HHd3xZB3ZxHQ48Z8ul+IMwbaWmQA8wZNv4Nd4OW9XxYg0MWyIYLW
7RG45llmDrI0lv5EYxrth0mBer6GAJ+w4MAd3wNTvBtkjYtWWe4=
=930c
-----END PGP SIGNATURE-----
another note I see my commits are marked as "signed by untrusted user" because I changed email in the middle of this open PR but did not change PGP key when creating a test PR and doing commit I see that the commits are marked as trusted so this issue should not persist in any future PRs ``` -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 this is a message to prove I am still in control of the original liberate_on_chain PGP key the only change made was migrating to new email sorry for any confusion -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE3qMbSAdiEaotkV2UmSZaanCDyp8FAmiBKBNfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldERF QTMxQjQ4MDc2MjExQUEyRDkxNUQ5NDk5MjY1QTZBNzA4M0NBOUYACgkQmSZaanCD yp99dQ/+IDgvxs3+ULHAhHIq733+UGqFHbQr9QNXi3MKrFULlMkrPnpV1hgnp0xh MwOSwcSqwf8koOB9i7YfsKpiDK4uUA9YrNNdCctgAdZAxxnrV62glgb2JGBYmaI1 a/IORfhP95y1RoLF7DiY61GWwyj/smOyiXTktA6YbRAouSNLNnYj92h8ZtJzLgG7 HD6Ns+kr9olcBvVubDJwpkKAdXPDCXWIF7Sr4ojc6fDtuvLjo1wXZwFFOp+Slj3K 13vLBTWm3+KNV4XKf+omzJ5rFeWYsiLjNgERO1S3pOeVABCBlOIlXgy3dDb1u5C3 K+wleyotNvXsKl4rrB3i0fmxcVOEo95702heFntmDiJ94G+hmU0lceHpATEDA6UW 25L3hiCF4EIjSd7dlWEUcrrfd/Gv8n7odhh+hpC45l4kNU8unEn16x87adcPDwor FRuEEqdlwz9DYwjus592eRmmELPaHIi4RDuywIhvO98f/KD/m62bDi72N1bBCSxI vxWidCB/2GbxNnuQICCDBiuPYyHFIT/5DOEs5y9KGPQldLVANUTbhVngZ8R5FocI j/2dI4caef69HHd3xZB3ZxHQ48Z8ul+IMwbaWmQA8wZNv4Nd4OW9XxYg0MWyIYLW 7RG45llmDrI0lv5EYxrth0mBer6GAJ+w4MAd3wNTvBtkjYtWWe4= =930c -----END PGP SIGNATURE----- ```
Author
Owner

completed work and final tests pass for this RoninOS release please review and merge into main develop branch when ready thank you

completed work and final tests pass for this RoninOS release please review and merge into [main develop branch](http://2l2o5umijiwxjioxwpsvwxe6pr75tj7r5rggnl5ze256guwvtee3kpqd.onion/Ronin/RoninOS/src/branch/develop) when ready thank you
dojocoder approved these changes 2025-08-15 16:26:40 +00:00
dojocoder changed title from WIP: RoninOS docker builds to RoninOS docker builds 2025-08-15 17:52:40 +00:00
dojocoder merged commit 8fd3c802d5 into develop 2025-08-15 17:59:01 +00:00
dojocoder referenced this pull request from a commit 2025-08-15 17:59:02 +00:00
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
4 participants
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Ronin/RoninOS!2
No description provided.