Comments (11)
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.
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.
yes, i did
from seedsigner-os.
replying late. Im rebuilding now following same instructions as you linked to. I'll reply in the morning with my results.
from seedsigner-os.
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.
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.
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.
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.
...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.
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.
basically it's putting quotation marks around things in python files
i wonder what's doing this "pre-processing"
from seedsigner-os.
Related Issues (18)
- PATH Errors occur when executing under WSL (Windows Subsystem for Linux) HOT 2
- Umount MicroSD issue HOT 1
- 🔁 Reproducible builds HOT 2
- 🧰 Enable SSH over USB | ONLY Dev version HOT 1
- Feature Request: Export/Load seed via encrypted file on microSD card HOT 11
- Why is there a "write" to microsd on the very first boot? HOT 6
- Feature Request: Temporarily cache multi-sig wallet configuration on device and allow users to select it during transaction signing. HOT 1
- Reconcile Python versions between SS & SSOS before next release HOT 1
- Feature request: unlock keyboard (word suggestions) to use seed in other languages HOT 4
- How to run docker without root privileges? HOT 1
- How to troubleshoot blank screen? HOT 2
- Warning on scan screen if micro SD card is still inserted HOT 1
- Docker Compose does not create an image HOT 3
- clean-up /opt/requirements-raspi.txt in build.sh script
- Help for people who forget to remove the SD card before entering their seeds HOT 7
- Double button click instead of joystick click HOT 1
- Port SeedSigner to ESP32 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from seedsigner-os.