Speakers | |
---|---|
Ulf Samuelsson | |
Schedule | |
Day | Saturday |
Room | Lameere |
Capacity | 500 |
Start time | 18:00 |
End time | 19:00 |
Duration | 01:00 |
Info | |
Track | Embedded devroom |
Booting and upgrading a flashless system
Booting a CPU has become more complex, as the internal bootROMs have gained more flexibility.
The speech will describe the issues encountered when booting a flashless system (AT91SAM9G45 based) from an SD-Card.
Some problems encountered are * Traps due to poor documentation * Lack of SD-Card support in bootloaders / U-Boot. * Inability to store the u-boot environment on the board (no flash) * Inability to rewrite the u-boot environment to SD-Card
A mechanism to handle the environment is proposed where U-Boot has a precompiled bootargs, which will first read a script from the SD-Card and execute it before the kernel is loaded. Both the u-boot script and the original are stored on the SD-Card so that if the environment needs to be updated, the original is edited, and a new script is generated.
A simple mechanism to update the kernel/root fs is shown where the first level bootloader is making a choice between loading u-boot or alternatively, if a button is pressed, the first level bootloader loads a USB Mass Storage Adapter application, which exports the contents of the SD-Card to any USB connected host system, allowing the kernel to be updated using a simple drag-and-drop.
The SD-Card has two partitions, so the filesystem can be updated either by untaring a tarball, or by drag-and-drop of single files or directory structures.