Giter Club home page Giter Club logo

Comments (11)

alevchuk avatar alevchuk commented on May 22, 2024

I'm getting the d34fb89f5 hash every time I build it, the image works for booting a pi zero. Here is the full log of the build
seedsigner-os-BUILD.log.gz

from seedsigner-os.

jdlcdl avatar jdlcdl commented on May 22, 2024

I suspect that on the same architecture, will always get the same reproducible binary, but for the release reproducible, everyone was always running docker by preceding it with env variables that forced it to build with docker as if on amd64 (and virtualizing is known to work but also makes it very slow if not already on amd64 hardware).

Just want to confirm that you did
export DOCKER_DEFAULT_PLATFORM=linux/amd64

before the rest of the build instructions.

from seedsigner-os.

alevchuk avatar alevchuk commented on May 22, 2024

yes, i did

from seedsigner-os.

jdlcdl avatar jdlcdl commented on May 22, 2024

replying late. Im rebuilding now following same instructions as you linked to. I'll reply in the morning with my results.

from seedsigner-os.

newtonick avatar newtonick commented on May 22, 2024

I did a build a few days ago and got the matching a380cb93eb852254863718a9c000be9ec30cee14a78fc0ec90708308c17c1b8a hash. @alevchuk what command did you run to kick off the build? SS_ARGS="--$BOARD_TYPE --app-branch=0.7.0" docker compose up --force-recreate --build ?

from seedsigner-os.

jdlcdl avatar jdlcdl commented on May 22, 2024

My run last night ended up building a binary w/ expected hash for pi0 and release 0.7.0.

a380cb93eb852254863718a9c000be9ec30cee14a78fc0ec90708308c17c1b8a /opt/../images/seedsigner_os.0.7.0.pi0.img

from seedsigner-os.

alevchuk avatar alevchuk commented on May 22, 2024

@jdlcdl

what command did you run to kick off the build? SS_ARGS="--$BOARD_TYPE --app-branch=0.7.0" docker compose up --force-recreate --build ?

yes, but with "sudo " in front of it

from seedsigner-os.

alevchuk avatar alevchuk commented on May 22, 2024

fwiw, sha256 sums of the contents of my image:
seedsigner-os-BUILD-image-contents.txt

i got them like this:

sudo apt-get install kpartx
sudo losetup /dev/loop6  ~/seedsigner-os/opt/../images/seedsigner_os.0.7.0.pi0.img
sudo kpartx -a /dev/loop6
sudo mkdir /mnt/tmp
sudo mount /dev/mapper/loop6p1 /mnt/tmp
find  /mnt/tmp | xargs sha256sum  > ~/seedsigner-os-BUILD-image-contents.txt

diff a.txt b.txt of two .txt files would show what's diffrent

from seedsigner-os.

jdlcdl avatar jdlcdl commented on May 22, 2024

...would show what's diffrent

Thank you for making this easy (explaining how to set it up). The only diff I found was with zImage (but that doesn't tell us much).

mine vs yours

257c257
< 3a75a5447d0e6986e086e5f031e0e7c00d066c48a4a544f6ebcf5b5b5f93ccaa  /mnt/tmp/zImage
---
> 72bf0671363057c392391761aeafbb5bd9b222aff835e0afb6d5591af7a7a2b1  /mnt/tmp/zImage

I'm slow to reply recently while dealing w/ other busy work. I'll work in the following direction (from @newtonick's gist written during the closed pr #51) as soon as I get time and will reply here.
https://gist.github.com/newtonick/2df134a84fd04398bd925a000e979112#bonus-round

from seedsigner-os.

alevchuk avatar alevchuk commented on May 22, 2024

I ran thru the instructions in the gist Bonus Round and got this difference from @newtonick's rootfs.md5.chk
rootfs.md5.chk.diff.txt

for for example my controller.py difference looks like this:

1d0
< import time
3c2
<
---
> import time
5a5,6
> from embit.descriptor import Descriptor
> from embit.psbt import PSBT
7a9,12
> from seedsigner.gui.toast import BaseToastOverlayManagerThread
> from seedsigner.models.psbt_parser import PSBTParser
> from seedsigner.models.seed import Seed
> from seedsigner.models.seed_storage import SeedStorage
10a16
> from seedsigner.views.screensaver import ScreensaverScreen
100c106
<     _storage: 'SeedStorage' = None   # TODO: Rename "storage" to something more indicative of its temp, in-memory state
---
>     _storage: SeedStorage = None   # TODO: Rename "storage" to something more indicative of its temp, in-memory state
105,107c111,113
<     psbt: 'embit.psbt.PSBT' = None
<     psbt_seed: 'Seed' = None
<     psbt_parser: 'PSBTParser' = None
---
>     psbt: PSBT = None
>     psbt_seed: Seed = None
>     psbt_parser: PSBTParser = None
111c117
<     multisig_wallet_descriptor: 'embit.descriptor.Descriptor' = None
---
>     multisig_wallet_descriptor: Descriptor = None
132,133c138,139
<     screensaver: 'ScreensaverScreen' = None
<     toast_notification_thread: 'BaseToastOverlayManagerThread' = None
---
>     screensaver: ScreensaverScreen = None
>     toast_notification_thread: BaseToastOverlayManagerThread = None
208c214
<     def get_seed(self, seed_num: int) -> 'Seed':
---
>     def get_seed(self, seed_num: int) -> Seed:
397c403
<     def activate_toast(self, toast_manager_thread: 'BaseToastOverlayManagerThread'):
---
>     def activate_toast(self, toast_manager_thread: BaseToastOverlayManagerThread):

from seedsigner-os.

alevchuk avatar alevchuk commented on May 22, 2024

basically it's putting quotation marks around things in python files

i wonder what's doing this "pre-processing"

suspiciously-used-quotes-cover_800

from seedsigner-os.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.