当前位置: 首页 > 软件库 > Web3 > 开源货币/比特币 >

firmware

授权协议 View license
开发语言 Python
所属分类 Web3、 开源货币/比特币
软件类型 开源软件
地区 不详
投 递 者 周越泽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Coldcard Wallet

Coldcard is a Cheap, Ultra-secure & Opensource Hardware Wallet for Bitcoin.Get yours at ColdcardWallet.com

Follow @COLDCARDwallet on Twitter to keep upwith the latest updates and security alerts.

coldcard logo

coldcard picture frontcoldcard picture back

Reproducible Builds

To have confidence this source code tree is the same as the binary on your device,you can rebuild it from source and get exactly the same bytes. This processhas been automated using Docker. Steps are as follows:

  1. Install Docker and start it.

  2. Install make (GNUMake) if you don't already have it.

  3. Checkout the code, and start the process.

    git clone https://github.com/Coldcard/firmware.gitcd firmware/stm32make repro

  4. At the end of the process a clear confirmation message is shown, or the differences.

  5. Build products can be found firmware/stm32/built.

Check-out and Setup

Do a checkout, recursively to get all the submodules:

git clone --recursive https://github.com/Coldcard/firmware.git

Already checked-out and getting git errors? Do this:

git fetch
git reset --hard origin/master

Then:

  • cd firmware
  • git submodule update --init (if needed?)
  • brew install autogen virtualenv
  • virtualenv -p python3 ENV (Python > 3.5 is required)
  • source ENV/bin/activate (or source ENV/bin/activate.csh based on shell preference)
  • pip install -r requirements.txt

Setup and Run the Desktop-based Coldcard simulator:

  • cd unix; make setup && make; ./simulator.py

Building the firmware:

  • cd ../cli; pip install --editable .
  • cd ../stm32; make setup && make; make firmware-signed.dfu
  • The resulting file, firmware-signed.dfu can be loaded directly onto a Coldcard, using thiscommand (already installed based on above)
  • ckcc upgrade firmware-signed.dfu

Which looks like this:

[ENV] [firmware/stm32 42] ckcc upgrade firmware-signed.dfu
675328 bytes (start @ 293) to send from 'firmware-signed.dfu'
Uploading  [##########--------------------------]   29%  0d 00:01:04

MacOS

You'll probably need to install at least these packages:

brew install --cask xquartz
brew install sdl2 xterm
brew install --cask gcc-arm-embedded

Used to be these were needed as well:

brew tap PX4/px4
brew search px4
brew install px4/px4/gcc-arm-none-eabi-80 (latest gcc-arm-none-eabi-XX, currently 80)

You may need to reboot to avoid a DISPLAY is not set error.

Linux

You'll probably need to install these (Ubuntu 16):

apt install libudev-dev python-sdl2 gcc-arm-none-eabi

If you get stuck on the "Skip PIN" screen after the startup, edit the pyb.py file located under /unix/frozen-modules/ and follow the instructions from line 27 to line 31:

# If on linux, try commenting the following line
addr = bytes([len(fn)+2, socket.AF_UNIX] + list(fn))
# If on linux, try uncommenting the following two lines
#import struct
#addr = struct.pack('H108s', socket.AF_UNIX, fn)

Code Organization

Top-level dirs:

shared

  • shared code between desktop test version and real-deal
  • expected to be largely in python, and higher-level

unix

  • unix (MacOS) version for testing/rapid dev
  • this is a simulator for the product

testing

  • test cases and associated data

stm32

  • embedded micro version, for actual product
  • final target is a binary file for loading onto hardware

external

  • code from other projects, ie. the dreaded submodules

stm32/bootloader

  • 32k of factory-set code that you cannot change
  • however, you can inspect what code is on your coldcard and compare to this.

hardware

  • schematic and bill of materials for the Coldcard

unix/work/MicroSD

  • files on "simulated" microSD card

Support

Found a bug? Email: support@coinkite.com

 相关资料
  • 如果从网上下载的固件不能满足需求,那就需要自己编译了。 OpenWrt系统已经发布了多个版本,如下: 发布时间 版本号 开发代号 2017年10月 17.01.4 LEDE 2016年3月 15.05.1 Chaos Calmer 2015年9月 15.05 Chaos Calmer 2014年10月 14.07 Barrier Breaker 2013年4月 12.09 Attitude Adj

  • Firmware Drivers 固件(Firmware)驱动 BIOS Enhanced Disk Drive calls determine boot disk CONFIG_EDD 这是一个实验性选项,支持实模式BIOS中的增强磁盘服务(EDD),从而允许内核从BIOS中获取第一启动盘(可以从sysfs中查看具体是哪个硬盘),大多数BIOS提供商都没有实现这个特性.不确定的选"N". Set

  • Trezor Firmware Repository Structure ci: Gitlab CI configuration files common/defs: JSON coin definitions and support tables common/protob: Common protobuf definitions for the Trezor protocol common/t

  • Atmosphère 是 Nintendo Switch 的一款正在进行中的定制固件。 Atmosphère由多个组件组成,每个组件都替换/修改系统的不同组件: Fusée:第一阶段Loader,负责加载和验证第2阶段(自定义TrustZone)和package2(内核/ FIRM系统模块),并根据需要修补它们。 这将取代Package1loader / NX Bootloader中的所有功能。

  • 此存储库包含用于无人机 PX4 Pro 的飞行控制解决方案,主要应用程序位于 src / modules 目录中。 它还包含 PX4 Drone 中间件平台,为运行无人机提供驱动程序和中间件。 支持的硬件 此存储库包含支持下列平台的代码: Snapdragon Flight Intel Aero Raspberry PI with Navio 2 Parrot Bebop FMUv1.x FMUv

  • 该项目包含一组脚本和工具用来提取和重新构建基于 Linux 的固件。 Extract a firmware image into its component parts User makes desired modification to the firmware's file system or web UI (webif) Rebuild firmware Flash modified fir