Successfully mounting Drobo shares from a Chromebook with Crouton/Ubuntu 14.04 installed

By: ( +David Herron; Date: 2015-02-16 13:10

Tags: Chromebook » Ubuntu » Drobo

The last couple weeks I've switched my working environment from a MacBook Pro to a Chromebook that has Ubuntu installed under Crouton. A lot of my work is developing Node.js software, and writing website content, and my habits are to live at the command line typing commands. But it also means accessing the large amount of content I have stashed on the MacBook Pro, and a Drobo 5N. MacOSX can easily mount shares on the Drobo, letting me access those files as if they were on the local machine. By default Chromebooks cannot do this, meaning the Chrome browser side of my Chromebook cannot (at this time) access anything stored on the Drobo. Because Ubuntu is installed (via Crouton), that side of the Chromebook theoretically can mount shares on the Drobo, but I ran into problems trying to directly mount the SMB share using Ubuntu 14.04 tools. Fortunately I've developed an alternate method that's nearly as good and quite easy to implement.

Technical background -- Drobo uses SMB and AFS -- but didn't work w/ Ubuntu 14.04 on Crouton/Chromebook

The Drobo exports itself using the SMB protocol, and also supports Apple's AFP protocol. In theory a Linux machine can easily mount a Drobo using SMB or CIFS client tools. Indeed, the Drobo support library suggests using those tools: (

On Ubuntu one can open a file manager window, and enter SMB://###.###.###.###/VolumeName to connect by the IP address, and sure enough a window opens letting you browse the Drobo file system. Unfortunately that method doesn't make the Drobo filesystem visible to command-line tools - I think that's a Gnome Virtual File System instead.

Another was to use smbclient to explore the available shares, then to use specifically crafted mount commands to use the smbfs or cifs file system protocols. You'll find instructions at the above link.

Unfortunately in this case the suggestions linked above didn't work too well.

Assigning fixed IP address & name to Drobo

First issue is they recommended using the "name" of the Drobo in the commands. That didn't work using the Ubuntu/Crouton setup on my Chromebook. But when I used the IP address instead of the "name" then the commands worked a little better.

That would develop problem down the line, the next time the Drobo reboots it's likely to get a different IP address. Hence, it's best to assign a fixed IP address, and then to assign a name to that fixed IP address.

Assigning a fixed IP address is accomplished by going to your WiFi router, and in the admin screens finding the DHCP configuration area. It's going to be different for each WiFi router. But there's going to be a screen showing MAC Addresses of known devices, and the IP address assigned by the DHCP server built into the router. There will also be a method for pre-assigning an IP address to certain MAC addresses. I assigned a fixed IP address to my Drobo, and also to the MacBook Pro.

Next step is to assign a name to the Drobo so you don't have to remember the IP address. The only tool available to me was the /etc/hosts file on the Ubuntu/Crouton side of the Chromebook. Adding entries like this takes care of assigning a name to the IP addresses of these devices:   drobo.local   tippy.local

First success - smbclient works - but mount command fails

With this set up, the smbclient command was able to return information about the Drobo shares

$ smbclient -L drobo.local
Enter david's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.7]

	Sharename       Type      Comment
	---------       ----      -------
	Public          Disk      
	David           Disk      
	DroboApps       Disk      

But, trying to mount one of those using the smbfs mount commands failed. It turned out that smbfs has been deprecated, and is simply not available for Ubuntu 14.04. I was unable to get the cifs support to work, and I gave up on trying to access the Drobo using this method.

sshfs to the rescue

I gave up for a week or so after that, and then took a different tactic by using sshfs.

First I set up sshfs mounts between the Chromebook and my MacBookPro and then with accounts on the VPS's I rent from my web hosting provider, Dreamhost. Those work fine, they're easy to set up, easy to shut down, and perform reasonably well.

$ cat ~/sshfs.txt
sshfs -o idmap=user ~/userID
sshfs -o idmap=user ~/userID1
sshfs -o idmap=user ~/userID2

fusermount -u ~/userID
fusermount -u ~/userID1
fusermount -u ~/userID2

I keep this file on my Chromebook, and any time I need to set up an sshfs mount I look in the file then copy/paste the command and it's good to go. It also should work to add an entry to /etc/fstab, but I haven't made the time to work that out.

Once the mount is set up the remote file system shows up as a regular file system mount, that's recognized by every last tool on the Ubuntu/Crouton side of the Chromebook. The ChromeOS side doesn't know about the file system mount, and sshfs is not available in the ChromeOS image.

I was even able to mount the Drobo file system using the MacBook Pro as an intermediary:

sshfs -o idmap=user userOnMacBook@tippy.local:/Volumes/Drobo5N ~/drobo

That worked, but I wanted a direct connection to the Drobo.

Jailbreaking the Drobo w/ DroboPorts

Fortunately the Drobo5N allows you to install "applications" that run inside the Drobo. The capabilities are limited, but it's fairly straightforward. They have some file sharing related applications which appear on the Drobo dashboard, and it's fairly easy to add additional apps.

The DroboPorts team make additional apps available, one of which gives you command line access to the Drobo innards. It is, after all, just a Linux box with discs ...

First step is, on the MacBook Pro, to mount the Drobo with a user ID that has access to the DroboApps share. By default that's the Admin user.

Go to the DroboPorts website, and find the OpenSSH application. Download that, and then drop the tarball into the DroboApps share. Then reboot the Drobo. Automagically when the Drobo reboots, the openssh tarball will have been replaced with an openssh directory. The openssh package will have been installed for you.

At that point it's possible to:

$ ssh -l Admin drobo.local

And after entering your Admin password, you have a command line prompt inside the Drobo.

It's useful to also install the bash, coreutils, sudo and wget tools off the DroboPorts website. That gives you some of the typical command line tools you might be familiar with from other systems.

Make sure and look at the recommended setup for each package.

For instance, I edited /etc/password so the login shell on all accounts is /bin/bash.

In any case, back to the issue of mounting the Drobo. Turns out that sshfs works great to mount a Drobo, once you've installed the OpenSSH package. It did not work under the Dropbear package that is recommended on the Drobo website.

sshfs -o idmap=user Admin@drobo.local:/mnt/DroboFS/Shares/David ~/drobo

It's also necessary to set up SSH keys so this works w/o password.

In the Admin home directory on the Drobo, create a .ssh directory, in which you create a file named authorized_keys. This is just like any other Unix/Linux box. Then, just like any other Unix/Linux box, copy the text of an SSH key from your client key (the Chromebook in my case) into the authorized_keys file on the Drobo.

« 46 Terabytes of data storage (for backups) sitting on a desktop Use the I2C Bus to control a Character LCD with Arduino - Tutorial »
2016 Election Acer C720 Ad block AkashaCMS Amazon Amazon Kindle America Amiga Android Anti-Fascism AntiVirus Software Apple Apple Hardware History Apple iPhone Apple iPhone Hardware April 1st Arduino ARM Compilation Astronomy Asynchronous Programming Authoritarianism Automated Social Posting Ayo.JS Bells Law Big Brother Big Finish Bitcoin Mining Black Holes Blade Runner Blockchain Blogger Blogging Books Botnet Botnets Cassette Tapes Cellphones Christopher Eccleston Chrome Chrome Apps Chromebook Chromebooks Chromebox ChromeOS CIA CitiCards Citizen Journalism Civil Liberties Clinton Cluster Computing Command Line Tools Comment Systems Computer Hardware Computer Repair Computers Cross Compilation Crouton Cryptocurrency Curiosity Rover Currencies Cyber Security Cybermen Daleks Darth Vader Data backup Data Storage Database Database Backup Databases David Tenant DDoS Botnet Detect Adblocker Developers Editors Digital Photography Diskless Booting Disqus DIY DIY Repair DNP3 Do it yourself Docker Docker MAMP Docker Swarm Doctor Who Doctor Who Paradox Drobo Drupal Drupal Themes DVD E-Books E-Readers Early Computers Election Hacks Electric Bicycles Electric Vehicles Electron Emdebian Encabulators Energy Efficiency Enterprise Node EPUB ESP8266 Ethical Curation Eurovision Event Driven Asynchronous Express Facebook Fake News Fedora VirtualBox File transfer without iTunes FireFly Fraud Freedom of Speech Gallifrey git Gitlab GMAIL Google Google Chrome Google Gnome Google+ Government Spying Great Britain Heat Loss Hibernate Hoax Science Home Automation HTTP Security HTTPS Human ID I2C Protocol Image Analysis Image Conversion Image Processing ImageMagick In-memory Computing InfluxDB Infrared Thermometers Insulation Internet Internet Advertising Internet Law Internet of Things Internet Policy Internet Privacy iOS Devices iPad iPhone iPhone hacking Iron Man Iternet of Things iTunes Java JavaScript JavaScript Injection JDBC John Simms Journalism Joyent Kaspersky Labs Kindle Kindle Marketplace Lets Encrypt LibreOffice Linux Linux Hints Linux Single Board Computers Logging Mac OS Mac OS X Machine Readable ID macOS MacOS X setup Make Money Online MariaDB Mars Matt Lucas MEADS Anti-Missile Mercurial Michele Gomez Micro Apartments Military Hardware Minification Minimized CSS Minimized HTML Minimized JavaScript Missy Mobile Applications MODBUS Mondas Monetary System MongoDB Mongoose Monty Python MQTT Music Player Music Streaming MySQL NanoPi Nardole NASA Net Neutrality Node Web Development Node.js Node.js Database Node.js Testing Node.JS Web Development Node.x North Korea npm NY Times Online advertising Online Community Online Fraud Online Journalism Online Video Open Media Vault Open Source Governance Open Source Licenses Open Source Software OpenAPI OpenVPN Paywalls Personal Flight Peter Capaldi Photography PHP Plex Plex Media Server Political Protest Postal Service Power Control Privacy Production use Public Violence Raspberry Pi Raspberry Pi 3 Raspberry Pi Zero Recycling Refurbished Computers Remote Desktop Republicans Retro-Technology Reviews Right to Repair River Song Robotics Rocket Ships RSS News Readers rsync Russia Russia Troll Factory Russian Hacking SCADA Scheme Science Fiction Search Engine Ranking Season 1 Season 10 Season 11 Security Security Cameras Server-side JavaScript Shell Scripts Silence Simsimi Skype Social Media Social Media Warfare Social Networks Software Development Space Flight Space Ship Reuse Space Ships SpaceX Spear Phishing Spring Spring Boot SQLite3 SSD Drives SSD upgrade SSH SSH Key SSL Swagger Synchronizing Files Telescopes Terrorism The Cybermen The Daleks The Master Time-Series Database Torchwood Total Information Awareness Trump Trump Administration Trump Campaign Ubuntu UDOO Virtual Private Networks VirtualBox VLC VNC VOIP Web Applications Web Developer Resources Web Development Web Development Tools Web Marketing Website Advertising Weeping Angels WhatsApp Window Insulation Wordpress YouTube YouTube Monetization