Thursday , 22 March 2018
Home >> L >> Linux >> Raspberry Pi: Adding an SSD expostulate to a Pi-Desktop kit

Raspberry Pi: Adding an SSD expostulate to a Pi-Desktop kit

Video: A beam to Raspberry Pi in 60 seconds

In my prior post, we wrote about convention and regulating a Farnell component 14 Pi-Desktop kit. we singular that post to a elementary installation, pattern and use of a Pi-Desktop enclosing itself. Now we am going to demeanour during one of a discretionary enlargement possibilities of that kit, adding an mSATA SSD (Solid State Disk).

The initial thing to consider, though, is why we would wish to do this. There are 3 apparent reasons:

  • Increase hoop space, during a improved cost than allied micro-SD cards. This is substantially a best reason, and it unequivocally does compensate off. The largest microSD label we have seen so distant is 400GB, while mSATA drives adult to 1TB are available, during a cost that is usually about 25% aloft than a 400GB microSD. Prices for equal ability are consistently reduce for mSATA than microSD.
  • Improve opening of a Raspberry Pi. This is substantially a misfortune reason, and if it is your thought we are going to be disappointed. This competence seem bizarre during initial glance, since mSATA speeds (~500MB/sec) are roughly 5 times faster than micro-SD (~100MBps). The problem is that a Pi-Desktop appendage house connects to a Raspberry Pi around USB 2.0, that has a limit information rate of 60MB/sec.
  • Get absolved of a micro-SD label altogether. This competence not be a high priority for a normal Raspberry Pi home user, yet in blurb and embedded uses a trustworthiness and continuance of micro-SD cards can be an issue.

    Pi-Desktop Add-On Board and mSATA SSD.

    Image: J.A. Watson

So, cruise these delicately when we endorse possibly we wish to do this or not. My possess proclivity was a multiple of these, and a fact that this usually seemed like a cold and fun thing to do. In fact we got an astonishing advantage from it – we schooled a few some-more things about a Raspberry Pi itself.

The Pi-Desktop appendage board, shown above, includes an mSATA connector and standoff/screw posts to bond and secure an SSD. It is critical to note that it will only accept an mSATA procession like a one also shown above; both physically and logically it is not probable to use a newer M.2 SATA devices.


Pi-Desktop with SSD installed

Image: J.A: Watson

Installing a SSD is flattering many a no-brainer. Make certain a Raspberry Pi is powered off (no, don’t try to “hot swap” it). Slip a connector into place (it usually goes one way), and secure a procession with a dual screws that came with a Pi-Desktop kit.

When we foot a Raspberry Pi with a SSD installed, we substantially won’t see any disproportion in a Raspbian desktop.


You can endorse that a SSD has been recognized, and find out what name it has been given, regulating a lsblk command. Here we can see that a SD label is mmcblk0, and has a foot and bottom partitions on it, and a SSD has been famous as sda and has no partitions on it yet.

SSD as additional hoop drive

The simplest probable approach to use a SSD is usually as an additional hoop expostulate alongside a customary Raspberry Pi micro-SD card. To do this we will have to assign and format a SSD. There are a series of Linux GUI and CLI utilities for hoop management. we cite gparted for this, yet it is not enclosed in a bottom Raspbian designation so we have to implement it first. That can be finished with a CLI command:

sudo apt-get implement gparted

Of march if we cite a GUI package manager we could also go to a row menu, Preferences, Add / Remove Software, afterwards hunt and implement it from there

If we are installing a new (unformatted) SSD; we will initial have to emanate a assign list on it. This can be finished with gparted by selecting a SSD from a drop-down device list, afterwards going to Device / Create Partition Table and afterwards selecting gpt. we see positively no reason to use a aged “msdos” assign list in this case.

The subsequent step is to indeed emanate one or some-more partitions. I’m not meddlesome in removing into a debate about filesystem forms and sizes for SSD drives, yet if we are afterwards usually do a hunt on “Linux SSD” and we will find hours and hours of interesting and spasmodic educational reading. For my functions in this elementary instance we combined one ext4 assign that covers a whole drive.


Image: J.A. Watson

After formulating a filesystem, usually reboot and a SSD will be automatically mounted, underneath a office /media/pi/[UUID]. You can see that it is mounted, and where, by regulating a lsblk authority again, or by simply hovering on a Removable Devices idol during a right finish of a tip panel.

At this indicate a designation and elementary pattern of a SSD is complete. If we cite to have it mounted in a some-more apparent place, something like /data, we can supplement a line to /etc/fstab for it.

SSD for Raspbian bottom filesystem

Another probability for configuring a SSD is to indeed pierce a bottom filesystem to it. The Pi-Desktop program package includes a concentration called ppp-hdclone that should do this for you.

Unfortunately we was not means to get this to work. Seriously.

So we finally gave adult and motionless to usually do it myself – it’s not rocket science.

In fact it is substantially improved to do this yourself, since we need to consider usually a bit about how we indeed wish to use a SSD in this case. The simplest approach would be to usually make one assign that covers a whole SSD, and afterwards duplicate a existent micro-SD bottom assign to it. That’s indeed not such a good idea, though, since we unequivocally should keep your user files and concentration information distant from a bottom and home filesystem. A improved resolution would be to emanate dual partitions, one for a bottom filesystem and a other for concentration data.


Image: J.A. Watson

To do this, follow a procession above to configure a SSD, yet instead of formulating one filesystem that covers a whole SSD, make one that is during slightest a bit incomparable than a existent bottom filesystem on a micro-SD card. You can see that on my complement a bottom is 7.27GB, so we could make an 8GB assign on a SSD. But we can also see that there is 6GB used already, so that doesn’t leave many giveaway space (I am regulating an 8GB micro-SD label in this system). The new SSD has copiousness of space, so since not strike adult a bottom assign distance now, and make things a bit some-more comfortable? we motionless to make a 16GB assign for root.

Now we usually have to duplicate a essence of a bottom filesystem from a micro-SD label to a SSD. Note that in this instance we am regulating a device names on my system; they could be opposite on others, so determine these with what we see in gparted to be sure.

dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=4M iflag=fullblock oflag=direct status=progress

This duplicate takes a few mins to finish – adequate time to get a crater of coffee, yet substantially not adequate for a lunch break. But what a heck, if you’ve gotten this distant and you’re still with me, go forward and take a lunch mangle – if anyone says something, tell them that we pronounced it was ok.

When a dd authority has completed, go behind to gparted, name a SSD assign and afterwards in a Partition menu chose Check. This will purify adult any inconsistencies that competence have crept in during copying, and it will enhance a filesystem to fill a assign (because we combined a new assign incomparable than a aged one, remember?). Then reboot a Raspberry Pi – yes, we know that a reboot is not positively required during this point, yet it will compensate off in usually a few minutes.

After rebooting we have to make dual some-more changes, to tell a foot routine and a filesystem list that a bottom filesystem is going to be moved.


Image: J.A. Watson

The foot pattern is in a record /boot/cmdline.txt, and a parameter we need to change is “root=PARTUUID=xxxxxx”. You can find a new value with sudo blkid. Use a value from a line for /dev/sda1 (duh), and make certain we take PARTUUID, not a elementary UUID.

The filesystem pattern is a bit some-more tricky, since we have to remember that when we reboot after this, a bottom filesystem will be a one that we usually combined on a SSD, not a one that is now mounted from a micro-SD. This is a reason that we rebooted after duplicating a bottom filesystem, since during a reboot a new assign on /dev/sda1 was automatically mounted underneath /media/pi/, so now we have easy entrance to a files on it. So now do this:

sudo vi /media/pi/*/etc/fstab

Change a line for a bottom filesystem (/) so that it has a same PARTUUID value that we usually put in a foot pattern record (cmdline.txt).


Image: J.A. Watson

That’s it! You’re prepared to reboot, and a bottom filesystem will be on a SSD! After rebooting, here is what that looks like with blkid – we can see that /dev/sda1 is a bottom filesystem, and /dev/mmcblk0p2 is now auto-mounted underneath /media/pi/.

You can now follow a same procession we described in a initial territory above, to emanate a second assign on a SSD that uses all a remaining giveaway space and possibly let it automount on /media/pi/[UUID] or supplement a line to /etc/fstab to mountain it.

SSD totally replaces micro-SD

The final choice for regulating a SSD is also a many impassioned – totally reinstate a micro-SD card, so a Raspberry Pi indeed boots from a SSD. The Pi-Desktop support for this is a bit formidable to understand, to contend a slightest (I would be some-more prone to report it as garbled). It includes a couple to a github Boot From a USB Mass Storage Device document, yet we found that to be equally as confusing.

I finally went behind to a Raspberry Pi Documentation How to foot from a USB Mass Storage Device on a Raspberry Pi 3. This request is transparent and easy to follow, so we will not repeat those instructions here. we went by them and successfully booted from a SSD. However, we ran into dual problems that assured me that this is not a useful configuration.

  • Every time a Raspberry Pi boots, there is a 10-15 second check while it tries to find a bootable micro-SD card. This isn’t a prolonged time, yet after a while it gets flattering irritating.
  • After booting from a SSD and afterwards installing a Pi-Desktop appendage packages, a Raspberry Pi no longer boots!

Because a Pi-Desktop was a whole indicate of this project, that second one means that booting from a SSD is out of a question. we was astounded to run into a problem as critical as this, generally since we haven’t seen or listened anything about it before. But afterwards we went behind and re-read a Pi-Desktop documentation, and satisfied that in a territory patrician “Initializing Booting from a SSD” they indeed say

The default routine of a Pi-Desktop utilitzes a micro-SD card; therefore this is a routine we will concentration on below.

Uh, OK… so a “Booting from SSD” territory describes… not booting from a SSD? Like we said, it seems a bit inaudible to me. Anyway, it doesn’t discuss a fact that really booting from a SSD and afterwards installing a Pi-Desktop program packages causes a Raspberry Pi to not foot during all. If anyone else has indeed finished this and gotten it to work properly, we would be meddlesome in conference how we managed it.

What about typical USB drives?

As we was regulating these tests, and meditative about a appendage house joining around USB, it occurred to me that as distant as a Raspberry Pi is concerned, a SSD is usually another USB device. (Yeah, we know, we can be a bit slow.) What that means is that all a things that we have finished so distant with a SSD could also be finished with a elementary USB hoop plugged into one of a Raspberry Pi USB ports. Hmmm.


Image: Western Digital Corp.

It wouldn’t demeanour terribly superb to have an typical USB hang extending from a side of a Raspberry Pi case, yet there are some good nano-USB drives that are not many some-more than a strike on a side of a case, and have a good ability during a low price. Keep in mind here that since a Raspberry Pi has usually USB 2, we wouldn’t even need to use a USB 3 expostulate for this, either, and USB 2 drives are removing to be about as inexpensive as chips!

So, we have steady all of a stairs we done so far, yet with an typical USB hang rather than a SSD, and it all worked accurately a same approach – elementary appendage storage, relocating a bottom filesystem to a USB drive, and even booting from a USB stick.


After carrying such a certain knowledge with a elementary Pi-Desktop kit, we have to contend overtly that we am unhappy with a formula of adding an SSD to it. It works, and it does have some advantages in terms of altogether hoop space, trustworthiness and even a bit improved performance. But a opening benefit is nowhere nearby what we had (naively) expected, and a inability to successfully foot from SSD and use a full Pi-Desktop functionality are unequivocally disappointing.

Previous and associated coverage

Pi Desktop: This pack turns your Raspberry Pi into a Linux desktop

If we need to spin a Pi into a PC, this pack promises to do it — in minutes.

Hardware spotlight: The Raspberry Pi [Tech Pro Research]

An overview of what this small house can do and how it’s being put to use.

IT pro’s beam to operative smarter with Linux [Tech Pro Research]

Get unsentimental tips and recommendation to assistance your classification get a many out of Linux.

Read some-more of Jamie’s Mostly Linux Stuff

==[ Click Here 1X ] [ Close ]==