GSOCApp

=BeagleBone Flasher= An easy way to flash the BeagleBone! %=ProposalTemplate =

=Proposal= Porting BeagleBone USB-based bootloader server from C to JavaScript(Node.JS). The objective is to upgrade the BBBlfs project to make an all-in-one BealgeBone flasher, using a variant of http://etcher.io/ The target is to obtain a single solution for flashing all Beagle variants(Black/Blue/Green etc) on all platforms(Windows/Linux/Mac).

About you
About me: Undergraduate engineering student at BITS Pilani, India. IRC nick: carpediem Github: https://github.com/adityamanglik School: Electronics Engineering at Birla Institute of Technology and Sciences, Pilani Country: India Primary language : English Typical work hours : 8AM-5PM US Eastern Blog: https://embeddedintelligence.wordpress.com/ I want to participate in GSoC under BeagleBoard.org because I am passionate about embedded systems and strongly wish to pursue my career in this domain.

About your project
Project name: Beagle Bone Flasher! Goal: Booting BeagleBone into USB mass storage class mode should be as easy as npm install beaglebone-boot; cd node_modules/beaglebone-boot; npm start and connecting the board with the BOOT button pressed via USB. Hardware Skills: Knowledge of USB and Bootloaders Software Skills: C, JavaScript (node.js) Possible Mentors: Jason Kridner

Description
In 10-20 sentences, what are you making, for whom, why and with what technologies (programming languages, etc.)? (We are looking for open source SOFTWARE submissions.)

For: Just about everybody who has wanted to start with/flash/update a BeagleBone Black or a similar board. What: A convenient way to flash the onboard eMMC with the click of a button, without any uSD. Why: Because this will greatly simplify the development process. With: Node.JS, C, Shell Scripting

Timeline
Provide a development timeline with a milestone each of the 11 weeks. (A realistic timeline is critical to our selection process.)

2017-06-06: Milestone #1 2017-06-13: Milestone #2 2017-06-20: Milestone #3 2017-06-27: Milestone #4 2017-07-04: Milestone #5 2017-07-11: Milestone #6 2017-07-18: Milestone #7 2017-07-25: Milestone #8 2017-08-01: Milestone #9 2017-08-08: Milestone #10 2017-08-15: Milestone #11

Experience and approach
In 5-15 sentences, convince us you will be able to successfully complete your project in the timeline you have described. I have good programming experience in C, C++ and Javascript. I have good knowledge about Bootloaders and have previously completed the following milestones:
 * 1) Break down BBBlfs
 * 2) Make Development plan

Contingency
What will you do if you get stuck on your project and your mentor isn’t around?

There are a lot of platforms available to seek help, namely other mentors and students on Freenode(#beagle and #beagle-gsoc), StackOverflow & previous participants(vvu?). I have tried to iron out all possible setbacks in the timeline so I know where help will be needed and where to get it. If my mentor is not around for those few days, I will simply work on another part of the project or do some tinkering myself to resolve the issue.

Benefit
If successfully completed, what will its impact be on the BeagleBoard.org community? Include quotes from BeagleBoard.org community members who can be found on http://beagleboard.org/discuss and http://bbb.io/gsocchat.

This project will greatly ease the process of flashing the BeagleBone Black, while providing a convenient and beautiful UI for same. Currently, one can flash a BeagleBone Black using the following methods: This project should greatly simplify the task, by allowing the user to simply download a new Node package and flash the BeagleBone with the click of a button. This would also help new users to gently get started with the development process on a Linux based board. Community Speak
 * 1) Using a uSD card to load a flasher image
 * 2) Flashing from Linux using the BBBlfs
 * 3) Playing around with the onboard eMMC in case all else fails!
 * 1) Numbered list item

Useful resources and references

 * http://ahsoftware.de/Beaglebone_Black_Boot_explained.svg
 * http://christian.amsuess.com/blog/website/2016-06-28_beaglebone/
 * https://embeddedintelligence.wordpress.com/concepts/understanding-bootloaders/
 * https://gist.github.com/vsergeev/2391575
 * https://github.com/thenewwazoo/BBB-LFS

BBB Cross Compilation Task Pull Request
Pull Request

Suggestions
Is there anything else we should have asked you?

After Selection
=Status= This project is currently a proposal.

Student: Mentors: Jason Kridner Code: https://github.com/adityamanglik Wiki: http://elinux.org/BeagleBoard/GSoC/ProposalTemplate GSoC: GSoC entry