ECE497 Project: Multiple Partitions via U-boot
The goal of this project is to give the U-boot boot-loader the ability to mount different partitions on start-up. This would allow the user to dual-boot the beagle board by controlling the boot sequence with a user button or RS-232 link.
Currently we have discovered how to create mmc-cards with multiple partitions, and discovered a way to mount the different partitions as root during start-up using built in U-boot commands. Currently we are developing a command to allow the user to select the partitions from which to boot.
Plans for the duration of the project includes finishing development of the multiboot command and modification of the boot script to allow partition selection using the user button. We also intend to research booting from USB devices, but this will only be explored if time permits.
If you do not yet have git installed see the instruction on EBC Exercise 07.
Open a terminal on your host machine and pull our git repository:
host$ git clone email@example.com:albertlee5/project.git
To compile the code for our project you will have to source two shell scripts that set certain environmental variables:
host$ source ~/.oe/environment-oecore host$ host$ ~/.oe/crossCompileEnv.sh
Now you should be able to run make to compile U-boot.
Next copy the resulting MLO, uboot.img, and uboot.bin to the boot partition of your mmc-card and rename the corresponding existing files so they don't interfere at startup. The beagle should now boot with our modified bootloader.
Not yet available
Not yet availble
Theory of Operation
The current plan of attack for our project is to write a script that will run automatically in U-boot, allowing the user to select between different partitions.
|Create Project Page||Jan 23, 2012||Yuhas|
|Research loading multiple partitions / u-boot scripting language||Feb 6, 2012||Yuhas & Ma|
|Determine schedule for project||Feb 6, 2012||Yuhas & Ma|
|Create SD card with multiple root partitions||Feb 7, 2012||Yuhas & Ma|
|Test U-boot to multiboot using command-line||Feb 7, 2012||Ma|
Not yet available.