Skip to content

Instantly share code, notes, and snippets.

@fhunleth
Last active June 24, 2016 09:03
Show Gist options
  • Save fhunleth/8948138 to your computer and use it in GitHub Desktop.
Save fhunleth/8948138 to your computer and use it in GitHub Desktop.
Master nerves project TODO list

nerves project management

  1. Find sponsorship or grants
  2. Find more collaborators

nerves website

  1. docs
  2. tutorials
  3. pretty picture pass to make site look more professional

nerves-sdk

  1. Make it less of a hassle to source nerves-env.sh. Many projects make your source a script to get the environment setup right, so there should be a really nice way of doing this.
  2. Make the whole sdk configuration less error prone. Maybe the SDK should print out which defconfig was used when you source the script just so that you know what you're getting. It also seems reasonable that projects might want to check the sdk configuration to make sure that everything is available before giving runtime or compile time errors.
  3. Figure out how to support erlang.mk projects. Possibly switch nerves-demo to erlang.mk if it is simpler than rebar
  4. Fix the rebar always needing to git clone dependencies. Why can't dependencies be cached like buildroot does it. Maybe erlang.mk can do this if we copy over the buildroot Makefile code that does it.
  5. Push rebar change request for supporting cross builds (Skype call with Tuncer probably)
  6. Get relx to support setting the system_libs via an environment variable so that we can get rid of relhelper.sh

nerves infrastructure

  1. Command line history in Erlang shell on device (preserve across reboots)
  2. Fix readline support in Erlang shell to handle changes to the terminal width. It currently only works at 80 characters.
  3. Figure out permissions. Right now everything runs as root on the target, but it seems like there should be a better way.
  4. Decide on a good way of implementing logging (make sure it captures dmesg and any messages from C)
  5. DHCP support
  6. WiFi support
  7. Watch dog
  8. Debug vs. production builds (e.g. no fs overlay, no Erlang shell, no Erlang distribution support, no .hrl files for production releases)
  9. Test out Linux 3.13 builds on BBB and static device overlay tree to see if they work ok. (This brings in better Ethernet and USB drivers)
  10. Fix up rebar dependencies everywhere. This is the issue where the dependencies refer to master so it is super easy to run with an old version and not notice it until the runtime error.

erlang-ale

  1. Clean up I2C and gpio code
  2. Update SPI to be of the same form as I2C and gpio
  3. Bug Omer some more to get fixes into the upstream

nerves-demo

  1. Fix up and add comments so that the demo code is neat and tidy.

relsync

  1. Figure out why it crashes the Erlang VM sometimes
  2. Handle error cases and give helpful feedback (aka no stack dumps) when things go wrong
  3. Add magic cookie to command line

fileutils

https://github.com/fhunleth/erlang_fileutils

  1. Add the rest of the Erlang node analogs to cp, mv, mkdir, chmod, etc.
  2. Project cleanup

fwtool and firmware updates

  1. Add digital signature support
  2. Add ability to report progress
  3. Add commands for checking target compatibility (e.g. compatible MBR offsets)
  4. Add check that destination is unmounted to avoid accidents
  5. Add firmware metadata to the fw archive and helper functions to read it
  6. Add command to list the available update types in a .fw file
  7. Add error messages and make any thrown exceptions prettier
  8. Add support for more than 4 partitions

buildroot

  1. Clean up buildroot patches and move them upstream
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment