OS X (macOS) Migration Assistant disk space bug

Hi all,

Have you ever encountered an issue with OS X (AKA macOS) Migration Assistant being stuck on restart and/or starting up screen? I know I have, and I know other people have too.

IMG_6818.JPG

If you don’t even know what Migration Assistant is, chances are you’ve used it anyway – because it’s run as an option on macOS installation – the one where you choose to import files from another drive/mac/etc. FYI.

The solution to the issue turned out to be rather simple in my case, but figuring it out took a couple of retries which all took several hours, so in total I’ve spent a few days (well, evenings) resolving the issue – and with this post I hope I can spare some people from repeating my fate.

Long story short, the issue was caused by a lack of disk space. Basically, if you choose not to import some files/folders in order to fit your data onto the target drive – Migration Assistant ignores that choice and tries to import everything. And when it runs out of disk space – it does not show any error or anything like that. Instead, import stops just as if all files were copied, installation proceeds to restart step (in case you’ve been doing it during macOS install like I did) – which gets stuck BTW. And on boot (by force reboot in my case) it was stuck on “Starting up” step. All because of lack of disk space.

The fix for me was to offload a particularly big folder to an external HDD, and then do the import.

That’s about it. Hope this helps.

Advertisements

RAM disk on OS X High Sierra

Here’s a code for creating RAM disk that works for me under OS X High Sierra.
One can change FS from HFS+ to something else (say, APSE, or case-sensitive/journaled FSs), but for me HFS+ is the one I want.

ramdiskSizeMB=$(osascript -e 'return text returned of (display dialog "RAM disk size in MB" default answer "1024")')
echo Creating RAM disk of size $ramdiskSizeMB MB
hdidOutput=$(hdid -nomount ram://$((2048*ramdiskSizeMB)) | cut -d ' ' -f 1) && diskutil erasedisk "HFS+" ramdisk $hdidOutput

To free the RAM one can simply unmount it in finder or DiskUtility.

P.S. Updated version with FS type selection:

#!/bin/bash

choiceScript='return choose from list {';
while read -r fsType 
do
  choiceScript="${choiceScript}\"$fsType\","
done <<EOT
$(diskutil listFilesystems -plist | grep Personality -A 1 | grep -F "<string>" | grep -E -o ">[^<]+<" | grep -o -E "[^><]+" | sort)
EOT
choiceScript="${choiceScript}\"\"} with prompt \"Choose filesystem type\" "

ramdiskSizeMB=$(osascript -e 'return text returned of (display dialog "RAM disk size in MB" default answer "1024")')
if [ "$ramdiskSizeMB" != "" ]
then
  fsType=$(osascript -e "$choiceScript")

  if [ "$fsType" != "false" ]
  then
    export ramdiskName=$(osascript -e 'return text returned of (display dialog "RAM disk name" default answer "ramdisk")')
    if [ "$ramdiskName" == "" ] 
    then
      ramdiskName="ramdisk"
    fi
  
    echo Creating RAM disk $ramdiskName of size $ramdiskSizeMB MB with FS type $fsType
    hdidOutput=$(hdid -nomount ram://$((2048*ramdiskSizeMB)) | cut -d ' ' -f 1) && diskutil erasedisk "$fsType" "$ramdiskName" $hdidOutput
  fi
fi

 

MySensors on Raspberry Pi with nRF24L01+

Recently I’ve learned that nRF24L01+ radio module can be connected directly to Raspberry Pi via GPIO pins in order for this Raspberry Pi to be used as MySensors library “gateway”.

I’ve successfully installed MySensors on Raspberry Pi using official instruction, but one thing wasn’t exactly clear – how do I specify channel for nRF24L01+? Without specifying proper channel, the “gateway” won’t be able to see other nodes.

It turned out to be quite simple actually – before doing make / sudo make install one has to run configure with these parameters:

./configure --my-transport=nrf24 --my-rf24-channel=123

The 123 is the number of channel to be used.

P.S. Remember to enable SPI via raspi-config.

DSLR focus control with gphoto2

If you read the documentation on gphoto2 regarding the focus control (“manual” focus as they call it) it mentions that focus control only works while liveview mode is on, and that seemed to be sufficient for Canon, but it turned out that for Nikon cameras there was more to it than just liveview.

First the necessary disclaimer though: I’ve only tried the Nikon D5100 here and Canon 550D and 600D, so YMMV.

But let’s start with liveview (or preview) mode itself first – this one is controlled by “/main/actions/viewfinder” setting in both Nikon and Canon. Continue reading

Installing Cisco AnyConnect VPN on Ubuntu 16.04

Oracle, Unix and the world at large

I was struggling setting up a new VPN to connect to my servers at the office as vpnsetup.sh was failing

# ./vpnsetup.sh 
Installing Cisco AnyConnect Secure Mobility Client...
Extracting installation files to /tmp/vpn.0Zgby3/vpninst625702875.tgz...
Unarchiving installation files to /tmp/vpn.0Zgby3...
Starting Cisco AnyConnect Secure Mobility Client Agent...
Failed to start vpnagentd.service: Unit vpnagentd.service not found.

I found a bunch of articles on the internet saying that this was due to missing libraries so started with the first batch of recommendations…

# apt install -y lib32z1 lib32ncurses5

This still didn’t work.

So I tried the next one, which was to also install the network-manager-openconnect package and reload the daemons

# apt install network-manager-openconnect

# systemctl daemon-reload

Success!

# ./vpnsetup.sh Installing Cisco AnyConnect Secure Mobility Client... Removing previous installation... mv: cannot stat '/opt/cisco/vpn/*.log': No such file or directory Extracting installation files to /tmp/vpn.yUyv15/vpninst922924093.tgz... Unarchiving installation files to /tmp/vpn.yUyv15... Starting Cisco AnyConnect Secure Mobility Client…

View original post 13 more words