Author

Topic: Armory-on-SystemRescueCD (Read 1691 times)

hero member
Activity: 651
Merit: 501
My PGP Key: 92C7689C
April 07, 2014, 03:55:14 PM
#2
I tried again recently, this time with SystemRescueCD 4.1.0...and now Armory works with it!  I suspect that emerge -euND world is what made the difference, instead of trying to figure out what needed rebuilding to get libraries and include files in place.  Go here for more information and the download link.
hero member
Activity: 651
Merit: 501
My PGP Key: 92C7689C
October 03, 2012, 12:14:26 PM
#1
UPDATE: (7 Apr 14) It's now working!

NOTE: This should've worked, but I ran into a problem getting Armory working with the crypto++ library built within the SystemRescueCD image.  I shifted gears a bit and put together a working system on top of the Gentoo Linux LiveDVD; go here to see how it's put together.

I've long kept a copy of SystemRescueCD on an 8GB flashstick on my keychain; it's a handy tool for installing Gentoo on a new box (it's based on Gentoo), imaging systems, clearing Windows passwords, and a bunch of other stuff.  I also have a TrueCrypt hidden volume on the aforementioned flashstick with my private keys (as PDFs generated by bitaddress.org); SystemRescueCD can access this.

I took a look at Armory and figured it'd be a more secure way to manage keys than what bitcoind offers by itself.  Instead of dedicating a computer to offline use, though, why not add Armory to SystemRescueCD?  You can boot it fairly quickly on any computer when you need it.  Keep your wallet in a TrueCrypt hidden volume and it should be safe from prying eyes, or even against getting lost.

The directions for customizing SystemRescueCD are here:

http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd

These instructions assume you're working with SystemRescueCD 3.0, the most recent version.

I won't rehash them here, but will go through the particular steps needed to get Armory working. Once you have SystemRescueCD unpacked to an image, mounted, chrooted, and have updated Portage (I just rsync /usr/portage from the nearest Gentoo box at hand), you'll want to do the following, which corresponds to step 4d:

1) Change some USE flags to build the components we need and not build components we don't:
Code:
euse -E X
euse -D cups
2) Use Portage to update/rebuild these packages (we need a newer OpenSSL, and some X header files are missing):
Code:
emerge -1 --nodeps dev-libs/openssl \
  dev-lang/python \
  x11-libs/xproto \
  x11-libs/xtrans \
  x11-libs/libXau \
  x11-libs/libXext \
  x11-proto/kbproto \
  x11-proto/fixesproto \
  x11-proto/renderproto \
  x11-proto/randrproto \
  x11-libs/libXrender \
  x11-libs/libXfixes \
  x11-libs/libXcursor \
  x11-libs/libXrandr \
  x11-libs/libX11 \
  x11-libs/libXv \
  x11-libs/libXi \
  x11-libs/libICE \
  x11-libs/libSM
3) Use Portage to install these Armory dependencies:
Code:
emerge dev-libs/crypto++ \
  dev-lang/swig \
  dev-python/twisted \
  dev-python/PyQt4 \
  dev-vcs/git
4) Clone qt4reactor from GitHub, build, and install:
Code:
git clone https://github.com/ghtdak/qtreactor && \
cd qtreactor && \
python setup.py build && \
python setup.py install
5) Clone Armory from GitHub and build:
Code:
git clone https://github.com/etotheipi/BitcoinArmory && \
cd BitcoinArmory/cppForSwig && \
make swig

With this done, you should now have a working ArmoryQt.py in /root/BitcoinArmory.  While you're at it, you could also add other useful Bitcoin-related tools, like bitaddress.org, a QR-code generator, or vanitygen.  (I have bitaddress.org and a QR-code generator combined into a couple of data: URLs here.)

(Quick aside on vanitygen...this build is really simple:
Code:
git clone https://github.com/samr7/vanitygen && cd vanitygen && make vanitygen && make keyconv && cp vanitygen keyconv /usr/bin
Follow the "want to make vanity addresses for others" instructions here to securely generate vanity keys offline.)

Continue with the instructions to produce the updated SystemRescueCD image, then go here for instructions on getting your image onto a flashstick.
Jump to: