Jump to content
Electronics-Lab.com Community

Move Acadia root file system to SATA


Recommended Posts

pcDuino Acadia


I will start off by actually loading the OS onto the Acadia’s eMMC storage.

Following this tutorial.

First download the firmware updating software from here and unzip it on to your windows PC. With the Acadia turned off make sure all of the boot configuration switches are set to the OFF position.



In the download folder of the firmware updater you should find a file named “cfg.ini”. Open this file in a text editor. There should be a line that says, “name=Acadia-eMMC”. If not, make the change and save it.

Run the MfgTool2.exe program. Connect the Acadia OTG port to a usb port on the PC and power it up. A few drivers should be automatically installed. The MfgTool2 app should say, “HID-compliant device”, in one of the top text boxes when its ready. Click “start”. This will take some time to complete and it should say, “Done”, when finished. Click stop and exit. We should be done with this program for now.

Power down the Acadia and change the configuration switches to boot from eMMC.




Attach SATA cable and power cable to Acadia. Power it up and it should boot from the eMMC. Open Disk Utility and create a root partition and format it. In my case it was /dev/sda1. I then used dd to copy the root system to the hdd with this command below.

>dd if=/dev/mmcbkl0p1 of=/dev/sda1 bs=1M conv=noerror,sync

This took some time as well. Once completed, unmount the partition using disk utility. In a terminal window we are now going to convert the ext3 partition to ext4 by using these commands.

>sudo tune2fs -O extents,uninit_bg /dev/sda1
>sudo e2fsck -f /dev/sda1

These will take a little while as well. There were errors found on mine and they were corrected.

Next we must modify the u-boot environment variable to have /dev/sda1 mounted as root. To do this we need to connect to the Acadia debug port. For this I used PuTTY and created a serial connection to that port with settings of 115200,N,8,1. From this terminal window I issue the “reboot now” command.

When the Acadia comes back up it will pause for a few seconds and ask you to hit enter to exit the boot routine. I will admit that it took me a couple of tries before I got it.

At the u-boot prompt type the command.


You should see a listing of the boot up script. Somewhere in there you should see a line that says something similar to, “bootargs_mmc=……”. We are going to replace that line only changing the “root=” variable. Yours may vary depending on video settings, etc. Duplicate your line and change it to read, “root=/dev/sda1”. So my command would be something like below.

u-boot>setenv bootarg_mmc 'setenv bootargs ${bootargs} root=/dev/sda1 rootwait fec_mac=${ethaddr} video=mxcfb0:dev=hdmi,19200x1080M@60,if=RGB24,bpp=32 fbmem=28M'

Notice the single quotes. They are required. Execute the command to save it.


Use the pri command again and look at the bootargs_mmc variable just to make sure. It will be at the bottom of the list now.


Power down the Acadia. Then power it back up.

If all went well you should now have root filesystem on the hdd.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...