Setting up Root/home on SSD won't work

Discussion in 'Troubleshooting' started by newbie123, Dec 8, 2013.

  1. newbie123

    newbie123 New Member

    Joined:
    Dec 8, 2013
    Messages:
    1
    Likes Received:
    0
    I've read the threads on setting up the SSD on the quad and still cannot figure out why the root and home won't work as per http://elinux.org/UDOO_boot_from_sata.
    I can mount the SSD when I boot from the SD card loaded with the ubuntu 12.04 image from the website. I also copied the file system via wget/tar approach on the SSD. I have two partitions on the SSD. I also set up the setenv as per instructions. I would expect the SD to boot and use the SDD to proceed with root and home.

    When I interrupt the boot process I can do a SATA info and it sees it.

    Is there a step I am missing?
     
  2. lhl

    lhl New Member

    Joined:
    Jul 8, 2013
    Messages:
    24
    Likes Received:
    0
    I'm running into a similar issue. I have an SSD w/ a filesystem copied from the SD card. I can see the device (/dev/sda) and mount the filesystem (/dev/sda1).

    I've updated the boot environment in uboot:

    Code:
    setenv root root=/dev/sda1
    saveenv
    And I've updated the /etc/fstab (on both the /dev/mmcblk0p1 and /dev/sda1) partitions:

    Code:
    /dev/sda1 / ext3
    When I boot, I get this (expected, since uBoot and /boot are read off the SD card right?)

    Code:
    UDOO board => boot
    
    mmc0 is current device
    
    ** File not found boot.scr **
    
    4223064 bytes read in 359 ms (11.2 MiB/s)
    
    Booting from mmc ...
    
    ** File not found imx6q-udoo.dtb **
    
    ## Booting kernel from Legacy Image at 12000000 ...
    
       Image Name:   Linux-3.0.35-lensley-g029e851-di
    
       Image Type:   ARM Linux Kernel Image (uncompressed)
    
       Data Size:    4223000 Bytes = 4 MiB
    
       Load Address: 10008000
    
       Entry Point:  10008000
    
       Verifying Checksum ... OK
    
       Loading Kernel Image ... OK
    But once booted, here's what I see:

    Code:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1        15G  6.9G  7.0G  50% /
    devtmpfs        438M  4.0K  438M   1% /dev
    none             88M  244K   88M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            438M     0  438M   0% /run/shm
    It says /dev/sda1 but it's really booted into the SD card !?!? (the SSD is a partition 32GB, I can also actually mount /dev/sda1 and confirm it's a different file system).

    This seems pretty bizarre to me. Anyone have any ideas?

    BTW, looking in dmesg, the SATA channel seems to detect fine:

    Code:
    [    2.151749] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
    [    2.158193] ata1.00: ATA-8: OCZ-VERTEX, 1.6, max UDMA/133
    [    2.163636] ata1.00: 62533296 sectors, multi 1: LBA48 NCQ (depth 31/32)
     
  3. lhl

    lhl New Member

    Joined:
    Jul 8, 2013
    Messages:
    24
    Likes Received:
    0
    OK, I see the issue... It looks like bootcmd is set to run mmcboot which loads mmcargs which loads mmcroot as the root device. Looks like the documentation on elinux is out of date... Here's the change I did to get /dev/sda1 to mount

    Code:
    setenv mmcroot /dev/sda1
    saveenv
     

Share This Page