I would like to be able to just use the Udoo as a computer. It would be nice to be able to dual boot and compare operating systems. Using the SD card is slow, so putting it on SATA is so much better. I am also experiencing other problems that need to be ironed out, so seeing it working on one operating system helps narrow the problem to software and keeps me from bothering you.
Having Uboot stored on the sd card doesn`t alter the boot speed , or stop you from dual booting etc , or change anything , and stop you doing anything which you would be able to do if the uboot was stored on the sata drive , in fact it adds things which you would not be able to do if it was stored on the sata. HOW TO BOOTS , it reads the first few sectors stored on the sd card which take a few milliseconds and waits 5 seconds for you press a key just in case you have a serial connection , then starts using the sata drive to load the kernel and the rootfs . To me it`s easier to dual boot with a sd card on uboot , because how it boots is now controlled by the sd card and all the uboot environment variables are stored on the sd card . So if you have 2 sd cards , one can be made to boot from partition 1 and the other partition 2 , so with a simple swop of the sd card to can make to multi-boot .
Flint: This issue was discussed on the IRC channel several months ago (around December IIRC). As others have said, there's a certain kind of NAND that (again, going from memory here) uses SPI interface to store the Uboot data. the pads DO exist for that chip on the bottom of the udoo board, but I don't know if all the supporting circuitry is also there or not. A few folks were supposedly looking into it though. Not sure what ever happened with it though. Like Peter said though, there are ways around this - just get a couple cheap 2GB microSD's to do what he suggested... I believe you also have the ability to change the timeout from 5 seconds to something shorter in the uboot environment variables.
Hi, First, thanks a lot for this guide!! Second, I am having issues and can't get it working for some reason... I have attached a sata hdd and made a dd copy of the mmc partition to /dev/sda2 (so there is an ext3 partition holding all the data from the sdcard of the latest lubuntu on /dev/sda2 and I am expecting it to be on sata 0:1). It works fine when I boot from the sata using my old sdcard (which contains also the full fs). After that, I took an empty card and installed there the uboot. Following your guide, I have set up everything but can't boot from this minimal setup: Code: U-Boot 2013.10-rc3 (Jan 20 2014 - 13:33:34) CPU: Freescale i.MX6Q rev1.2 at 792 MHz Reset cause: WDOG Board: UDOO DRAM: 1 GiB MMC: FSL_SDHC: 0 auto-detected panel HDMI Display: HDMI (1024x768) In: serial Out: serial Err: serial Net: using phy at 6 FEC [PRIME] Hit any key to stop autoboot: 0 AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part SATA Device Info: S/N: 5VJ2GJM0 Product model number: ST9500420ASG Firmware version: 0002SDM1 Capacity: 976773168 sectors SATA device 0: Model: ST9500420ASG Firm: 0002SDM1 Ser#: 5VJ2GJM0 Type: Hard Disk Supports 48-bit addressing Capacity: 476940.0 MB = 465.7 GB (976773168 x 512) ... is now current device Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** Booting from sata ... Wrong Image Format for bootm command ERROR: can't get kernel image! moreover, I am not able to even use ext2ls to list the fs... Code: UDOO board => ext2ls sata 0:0 Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** UDOO board => ext2ls sata 0:1 Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** UDOO board => ext2ls sata 0:2 ** Invalid partition 2 ** UDOO board => ext2ls sata 0:3 ** Invalid partition 3 ** thanks for help!
Here's what worked for me: http://udoo.org/forum/current-state-sat ... t1091.html My guess is that the ext2 filesystem may be an issue for uboot. Have you tried ext4?
Yes... I tried 0,1,2 but none of them works... Code: UDOO board => env print baudrate=115200 boot_fdt=try bootargs=console=ttymxc1,115200 root=/dev/sda2 fbmem=24M video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 bootcmd=sata dev ${satadev}; run loaduimagesata; run sataboot; bootdelay=5 bootscript=echo Running bootscript from mmc ...; source console=ttymxc1 ethact=FEC ethaddr=00:c0:08:88:16:da ethprime=FEC fdt_addr=0x11000000 fdt_file=imx6q-udoo.dtb fdt_high=0xffffffff initrd_high=0xffffffff ip_dyn=yes loadaddr=0x12000000 loadbootscript=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script}; loadfdt=ext2load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file} loaduimage=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage} loaduimagesata=ext2load sata ${satadev}:${satapart} ${loadaddr} ${uimage} mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} ${hdmi_patch} fbmem=24M video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootm ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootm; else echo WARN: Cannot load the DT; fi; fi; else bootm; fi; mmcdev=0 mmcpart=1 mmcroot=/dev/sda2 rootwait rw netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ${hdmi_patch} ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${uimage}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootm ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootm; else echo WARN: Cannot load the DT; fi; fi; else bootm; fi; sataargs=setenv bootargs console=${console},${baudrate} root=${sataroot} ${hdmi_patch} fbmem=24M video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 sataboot=echo Booting from sata ...; run sataargs ; bootm satadev=0 satapart=2 sataroot=/dev/sda2 script=boot.scr splashpos=m,m uimage=/boot/uImage update_sd_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if mmc dev ${mmcdev}; then if ${get_cmd} ${update_sd_firmware_filename}; then setexpr fw_sz ${filesize} / 0x200; setexpr fw_sz ${fw_sz} + 1; mmc write ${loadaddr} 0x2 ${fw_sz}; fi; fi update_sd_firmware_filename=u-boot.imx Environment size: 2379/8188 bytes Results in: Code: U-Boot 2013.10-rc3 (Jan 20 2014 - 13:33:34) CPU: Freescale i.MX6Q rev1.2 at 792 MHz Reset cause: WDOG Board: UDOO DRAM: 1 GiB MMC: FSL_SDHC: 0 No panel detected: default to LDB-WVGA Display: LDB-WVGA (800x480) In: serial Out: serial Err: serial Net: using phy at 6 FEC [PRIME] Hit any key to stop autoboot: 0 AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part SATA Device Info: S/N: 5VJ2GJM0 Product model number: ST9500420ASG Firmware version: 0002SDM1 Capacity: 976773168 sectors SATA device 0: Model: ST9500420ASG Firm: 0002SDM1 Ser#: 5VJ2GJM0 Type: Hard Disk Supports 48-bit addressing Capacity: 476940.0 MB = 465.7 GB (976773168 x 512) ... is now current device ** Invalid partition 2 ** Booting from sata ... Wrong Image Format for bootm command ERROR: can't get kernel image!
Are you able to mount your SATA partition two after booting from MMC SD card? Have you run FSCK on partition two?
Hi and thanks for reply! The partition is ok and I found the problem. For some reason, the partition table was not mbr but gpt - the lubuntu itself can mount gpt without any issue so I was so confused because I was able to mount the partition from lubuntu but not from the uboot which needs it to be mbr. After converting it, it boots fine and I am good to go! thanks for help guys and remember - MBR
This is simply driving me insane. I've tried several methods of "making" a Samsung EVO 120GB SSD my main drive to include copying files to a single ext3 and ext4 partition on the drive. I've followed the Uboot 2013 directions and everything looks good until I get the following error, Code: VFS: Cannot open root device "sda1" or unknown-block(0,0) [ 3.229056] Please append a correct "root=" boot option; here are the available partitions: [ 3.237473] b300 15558144 mmcblk0 driver: mmcblk [ 3.242806] b301 15550111 mmcblk0p1 00000000-0000-0000-0000-000000000000 [ 3.250314] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Here is the beginning of my boot process, Code: Hit any key to stop autoboot: 0 AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: ncq stag pm led clo only pmp pio slum part SATA Device Info: Product model number: Samsung SSD 840 EVO 120GB Firmware version: EXT0BB6Q Capacity: 234441648 sectors SATA device 0: Model: Samsung SSD 840 EVO 120GB Firm: EXT0BB6Q Ser#: S1D5NSBDC50613P Type: Hard Disk Supports 48-bit addressing Capacity: 114473.4 MB = 111.7 GB (234441648 x 512) ... is now current device 4788388 bytes read in 81 ms (56.4 MiB/s) Booting from sata ... ## Booting kernel from Legacy Image at 12000000 ... Image Name: Linux-3.0.35 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4788324 Bytes = 4.6 MiB Load Address: 10008000 Entry Point: 10008000 Verifying Checksum ... OK Loading Kernel Image ... OK I can flip back to the SD card and everything runs fine, but EVERY FREAKING TIME I switch to the SSD I get this stupid error. I've mounted the drive and see that everything looks fine. It's on sda partition 1. What am I missing?
Yeah, the booting from sata and the fact that it found AND loads the kernel is what is throwing me off. It's like it forgets that the sata drive is mounted when it tries to mount it. I should add that I've successfully loaded and booted off of a 750GB spinning hard drive using the same set of procedures. It looks like it's something related to my SSD type.
Hi, I had same problems with the same SSD SATA Drive. I solved as explain here http://www.udoo.org/forum/threads/udoo-and-sata-boot-how-i-succeed.3502/. Let me know if it works for you. Best regards
I have an Arduino sketch running which locked up the serial port on the Udoo So am I correct in that the setenv commands are typed in on the pc terminal?