How to boot a SSD from the internal ZIF Anyone?

Everything relating to hacking, expanding and modifying the Joggler hardware.
Post Reply
verg0
Posts: 102
Joined: Tue Jul 19, 2011 9:37 am

How to boot a SSD from the internal ZIF Anyone?

Post by verg0 »

Hi ive bought this item its a 16GB SSD with the ZIF connector to install inside the joggler:

HP Mini 1000 1100 16GB SDPA3AD-016G SSD Module

http://www.ebay.co.uk/itm/HP-Mini-1000- ... 27d9729cac

My question is, how can i get the new android image booting from it?...

Any help would be greatly appreciated :)
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: How to boot a SSD from the internal ZIF Anyone?

Post by pete »

The only way I could do it was to change the EFI boot stuff on the EFI boot partition on the MMC flash. That said though it showed two icons for booting and I still needed to use a mouse/keyboard to pick the 16Gb SSD.

That said I am playing with Buzz's new Xbuntu build. Here what I did was use an internal USB 8 Gb SSD stick and an SSD 16Gb to give me some 24Gb of space.

Here I am using both. I boot into the 16Gb SSD by using the boot on the USB SSD EFI partition. I did also move the /usr partition to the 8Gb SSD.

For Windows I changed the boot EFI bios for the Seaboot bios and it boots just fine directly from the 16Gb ZIF SSD.

I don't know why but I think the EFI boot chip is only looking at the EFI boot partition on the MMC to boot from the MMC or the USB stick.

Be careful though playing with the EFI MMC Boot partition. If you mess it up it will not boot anything. The only way I have gotten out of this was to swap out the EFI boot chip for a Windows boot chip; booting into windows and rewriting the image to the MMC with windows; which is sort of a PITA to do. Test out the stuff though; rewrite the grub.cfg stuff on the boot partition such that its the SSD card booting rather the the USB. The device names are different. If you do get it to boot directly from the 16Gb SSD let me know how you do it. (I install that EFI boot loader stuff with the icons; but could not change the order of the boot; it does see the SSD though)

Here is my stuff:
Last login: Mon Feb 10 20:47:49 2014 from 192.168.244.138
root@ICS-JogBuntu:~# df -l
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 3530672 3012196 518476 86% /
udev 247128 8 247120 1% /dev
tmpfs 252048 24 252024 1% /tmp
tmpfs 100820 776 100044 1% /run
none 5120 0 5120 0% /run/lock
none 252048 172 251876 1% /run/shm
none 102400 20 102380 1% /run/user
/dev/sda1 62322 17758 44564 29% /boot
/dev/uba3 7377984 2304556 4698644 33% /media/data
root@ICS-JogBuntu:~# fdisk -l

Disk /dev/sda: 16.4 GB, 16391208960 bytes (this is the 16Gb ZIF SSD)
255 heads, 63 sectors/track, 1992 cylinders, total 32014080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006fc82

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 126975 62464 e W95 FAT16 (LBA)
/dev/sda2 126976 626687 249856 82 Linux swap / Solaris
/dev/sda3 626688 32012287 15692800 83 Linux

Disk /dev/mmcblk0: 1028 MB, 1028128768 bytes (this is the 1Gb built in flash MMC)
4 heads, 16 sectors/track, 31376 cylinders, total 2008064 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00065065

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 16 125055 62520 ef EFI (FAT-12/16/32)
/dev/mmcblk0p2 125056 625151 250048 83 Linux
/dev/mmcblk0p4 626688 2007039 690176 83 Linux

Disk /dev/uba: 7996 MB, 7996538880 bytes (this is the 8Gb USB SSD)
255 heads, 63 sectors/track, 972 cylinders, total 15618240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e8631

Device Boot Start End Blocks Id System
/dev/uba1 * 2048 126975 62464 e W95 FAT16 (LBA)
/dev/uba2 126976 626687 249856 82 Linux swap / Solaris
/dev/uba3 626688 15618047 7495680 83 Linux
root@ICS-JogBuntu:~#
Here is the grub.cfg which sits on the EFI USB boot and points to the 16Gb SSD. I could not boot directly from the SSD; so booting indirectly.
root@ICS-JogBuntu:/media/uba1# cat grub.cfg
loadfont /unicode.pf2
terminal_output gfxterm
set timeout=5
menuentry "Jogbuntu 12.10 (ICS-Stuff) - 3.2.53joggler1" {
linux /vmlinuz-3.2.53joggler1 root=/dev/sda3 ro quiet splash (this is the 3rd partition on the 16Gb SSD)
initrd /initrd.img-3.2.53joggler1
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
verg0
Posts: 102
Joined: Tue Jul 19, 2011 9:37 am

Re: How to boot a SSD from the internal ZIF Anyone?

Post by verg0 »

pete wrote:
Here is the grub.cfg which sits on the EFI USB boot and points to the 16Gb SSD. I could not boot directly from the SSD; so booting indirectly.

root@ICS-JogBuntu:/media/uba1# cat grub.cfg
loadfont /unicode.pf2
terminal_output gfxterm
set timeout=5
menuentry "Jogbuntu 12.10 (ICS-Stuff) - 3.2.53joggler1" {
linux /vmlinuz-3.2.53joggler1 root=/dev/sda3 ro quiet splash (this is the 3rd partition on the 16Gb SSD)
initrd /initrd.img-3.2.53joggler1
Yeah, this sounds like a good work around, saves playing with the EFI :)

Thanks Pete


Can we add grub to the internal flash so it points to the SSD rater than having a USB stick plugged in?
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: How to boot a SSD from the internal ZIF Anyone?

Post by pete »

Yup; you can just write (and be careful) the grub boot to Linux EFI partition that is being utilized for the squeezeplayer. I think it still defaults to booting a USB stick if it doesn't boot up the Squeezeplayer internal OS.

I did do a quickie test and did notice on the above; really paying attention; that the ZIF SSD is seen faster than the USB SSD such that there is a pause while booting and looking at fstab. With a bigger SSD though you can multiboot grub with a keyboard plugged in.

With the current testing I left the EFI MMC boot partition alone. That said on another test one I made it 200 Mb and played with a newer fancier EFI boot thing. It did work but I couldn't change the order of what was booting such that I had to use a keyboard to boot to a designated OS.

This one was my favorite one and it does work. Easiest to test it on a boot USB stick though.

http://refit.sourceforge.net/screen.html
screen2.png
This is the FSTAB that I am using. Maybe though I wrote it incorrectly?
root@ICS-JogBuntu:/etc# cat fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# /dev/sda3 - really fast booting from ZIF SSD
proc /proc proc nodev,noexec,nosuid 0 0
LABEL=linux-root / ext4 errors=remount-ro,noatime 0 1
LABEL=LINUX-BOOT /boot vfat defaults 0 0
LABEL=linux-swap none swap sw 0 0
tmpfs /tmp tmpfs defaults 0 0

# /dev/uba3 - SLOW BOOTING from USB SSD Stick
# UUID=5249d7b2-46c2-4ae0-9ced-d1c493612345 /usr ext4 nodev,nosuid,relatime 0 2

# Data partition
# /dev/uba3 SLOW BOOTING from USB SSD Stick
UUID=5249d7b2-46c2-4ae0-9ced-d1c493667890 /media/data ext4 relatime,noexec 0 2
BTW these are the same ZIF SSD's that I have been using. You got a good price on a used one. The new ones are around $25/30 USD here.

The Openframe 7's with the speakers in the front have the same ZIF traces but no connector. They also have a mini PCIE card which is a wireless 802.11X plus Bluetooth mini PCIE card. Here is where I put a Broadband Crystal HD mini PCIE card for streaming 1080; which works nice. There are also traces for a mini SD card and another connection for a USB whatever. So you can really boot this one up from a ZIF SSD, USB SSD or SD card. The built in MMC is 2Gb which runs XBMC or Squeezeplayer fine. For the XBMC build though unless you move the DB off of it; fills up the space right away.

The motherboard is very similiar though because it too has a DECT and Zigbee chip. Its a tad bigger though and it has a battery backed up clock / sort of CMOS which does work fine. It also has a nicer sound with the speakers in the front. The bracket is removable and appears that the device can be hung on some sort of wall bracket if you wanted to mount it on a wall.

Guessing; if you are interested another way to multiboot different OS's is just to write a script choose primary OS; having the script rewrite the order of the boot. IE: Using Xbuntu these days. An icon there would edit the boot EFI so that Android boots on reboot. In Android an icon / script that boots Xbuntu and so forth and so on.

BTW using the ZIF SSD you do not need to modify the XP boot for USB use. IE: you don't need USB boot in EFI or Seabios Mode. Thing is that the built in NIC (realtek) isn't recognized some or most of the time in XP. That said it might work in the Openframe 7 with the battery backed up stuff.
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
Post Reply