diff --git a/README.md b/README.md index 3ac1ac58..40efaa40 100644 --- a/README.md +++ b/README.md @@ -9,97 +9,9 @@ This is the source code for 2nd generation of TREZOR called TREZOR model T. ## Documentation -* [Documentation](docs/) - -## Build instructions for emulator - -Run the following to checkout the project: - -```sh -git clone --recursive https://github.com/trezor/trezor-core.git -cd trezor-core -``` - -### Linux - -#### Debian/Ubuntu - -```sh -sudo pip3 install --no-cache-dir pyblake2 - -sudo dpkg --add-architecture i386 -sudo apt-get update -sudo apt-get install scons libsdl2-dev:i386 libsdl2-image-dev:i386 gcc-multilib - -make build_unix -``` - -#### Fedora - -```sh -sudo pip3 install --no-cache-dir pyblake2 - -sudo yum install scons SDL2-devel.i686 SDL2_image-devel.i686 - -make build_unix -``` - -#### openSUSE - -```sh -sudo pip3 install --no-cache-dir pyblake2 - -sudo zypper install scons libSDL2-devel-32bit libSDL2_image-devel-32bit - -make build_unix -``` - -#### Arch - -```sh -sudo pip3 install --no-cache-dir pyblake2 - -sudo pacman -S gcc-multilib scons lib32-sdl2 lib32-sdl2_image - -make build_unix -``` - -### OS X - -```sh -pip3 install --no-cache-dir pyblake2 - -brew install scons sdl2 sdl2_image - -make build_unix -``` - -### Windows - -Not supported yet ... - -## Build instructions for ARM - -### Linux - -For flashing firmware to blank device (without bootloader) use `make flash`, -or `make flash STLINK_VER=v2-1` if using a ST-LINK/V2.1 interface. -You need to have OpenOCD installed. - -#### Debian/Ubuntu - -```sh -sudo pip3 install --no-cache-dir click pyblake2 scons -sudo pip3 install --no-deps git+https://github.com/trezor/python-trezor.git@master - -sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi - -make vendorheader build_boardloader build_bootloader build_firmware -``` - -### OS X - -1. Download [gcc-arm-none-eabi](https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update/) -2. Follow the [install instructions](https://launchpadlibrarian.net/287100883/readme.txt) -3. To install OpenOCD, run `brew install open-ocd` -4. Run `make vendorheader build_boardloader build_bootloader build_firmware` +* [API](docs/api.md) +* [Build instructions](docs/build.md) +* [Bootloader](docs/bootloader.md) +* [Hardware](docs/hardware.md) +* [Memory Layout](docs/memory.md) +* [TOIF Image Format](docs/toif.md) diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 72522df0..00000000 --- a/docs/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# TREZOR Core documentation - -![TREZOR Logo](logo.png) - -* [TREZOR Core API](api.md) -* [TREZOR Core Bootloader](bootloader.md) -* [TREZOR Core Image Format](toif.md) -* [TREZOR Core Memory Layout](memory.md) -* [TREZOR Core Hardware](hardware.md) diff --git a/docs/build.md b/docs/build.md new file mode 100644 index 00000000..39ab6780 --- /dev/null +++ b/docs/build.md @@ -0,0 +1,94 @@ +# Build instructions + +## Build instructions for Emulator (Unix port) + +Run the following to checkout the project: + +```sh +git clone --recursive https://github.com/trezor/trezor-core.git +cd trezor-core +``` + +### Linux + +#### Debian/Ubuntu + +```sh +sudo pip3 install --no-cache-dir pyblake2 + +sudo dpkg --add-architecture i386 +sudo apt-get update +sudo apt-get install scons libsdl2-dev:i386 libsdl2-image-dev:i386 gcc-multilib + +make build_unix +``` + +#### Fedora + +```sh +sudo pip3 install --no-cache-dir pyblake2 + +sudo yum install scons SDL2-devel.i686 SDL2_image-devel.i686 + +make build_unix +``` + +#### openSUSE + +```sh +sudo pip3 install --no-cache-dir pyblake2 + +sudo zypper install scons libSDL2-devel-32bit libSDL2_image-devel-32bit + +make build_unix +``` + +#### Arch + +```sh +sudo pip3 install --no-cache-dir pyblake2 + +sudo pacman -S gcc-multilib scons lib32-sdl2 lib32-sdl2_image + +make build_unix +``` + +### OS X + +```sh +pip3 install --no-cache-dir pyblake2 + +brew install scons sdl2 sdl2_image + +make build_unix +``` + +### Windows + +Not supported yet ... + +## Build instructions for Embedded (ARM port) + +### Linux + +For flashing firmware to blank device (without bootloader) use `make flash`, +or `make flash STLINK_VER=v2-1` if using a ST-LINK/V2.1 interface. +You need to have OpenOCD installed. + +#### Debian/Ubuntu + +```sh +sudo pip3 install --no-cache-dir click pyblake2 scons +sudo pip3 install --no-deps git+https://github.com/trezor/python-trezor.git@master + +sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi + +make vendorheader build_boardloader build_bootloader build_firmware +``` + +### OS X + +1. Download [gcc-arm-none-eabi](https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update/) +2. Follow the [install instructions](https://launchpadlibrarian.net/287100883/readme.txt) +3. To install OpenOCD, run `brew install open-ocd` +4. Run `make vendorheader build_boardloader build_bootloader build_firmware`