iMACのHDDをSSDに換装

 

24インチiMac(24-inch, Early 2009)のHDDをSSDに換装し、「OS X El Capitan」新規インストールする。

概要:

  1. USBインストールメディア
  2. HDDをSSDに換装
  3. ボタン電池交換
  4. Macの日時の設定
  5. SSDのフォーマット
  6. OSをインストールする
  7. おわり

USBインストールメディア

「OS X El Capitan」は6Gもあるので、普通のDVDも入れない。WEB記事参考して、USBインストールメディアを準備した。

楽そうなDiskMaker X方法を試したが、うまくいかないので、Apple勧めたコマンドライン方法でできました。

HDDをSSDに換装

下記のサイトを参考して、一時間あまりでできた。

24インチiMac(24-inch, Early 2009)のHDDをSSDに換装する

両面テープではなく、2.5->3.5 変換アダプタを利用した。アダプタは短いので、固定レジはコネクター側2個だけ付けた。まー、両面テープよりは融通性がいいかも。アダプタ位置が3.5の場合とずれたため、ケーブルは届くが、ぎりぎり状態。

2016-09-17 11.26.24

温度センサーは、そのままSSD表面に貼る。SSDは熱を発しないため「あまりにも無意味な行動」けど。そのままの一番シンプルの方法でOK。

(Webの記事では、色んな対処法あり:

  1. ショットさせると良い
  2. アプリでファン制御
  3. 温度センサーを付け直
  4. ...)

ボタン電池交換

おそらく日付保持するボタン電池が切れたと思うので、新品と交換。テスターで確認したら確かに2.8Vしなない。

しかしこの余計な手順で思わぬ落とし穴…

Macの日時の設定

早速OS再インストールを試すが、以下のエラーが発生する

このOS X El Capitan インストールアプリケーションを検証できません。ダウンロード中に破損したか不正に変更された可能性があります。

英語の場合:

This copy of the Install OS X El Capitan application can’t be verified.
It may have been corrupted or tampered with during downloading.

解決するまで数時間を浪費した!!!

まず、文字通りに、対策として:

  1. ネットインストール。しかしOption+Command+R効かない
  2. USBインストールメディアを再作成。しかし同じエラーが発生
  3. 再度ダウンロード。ダウンロードしたものを削除して、AppStoreにダウンロードし直す、しかし回転アイコンが表示するが、いつまでもダウンロード始まらない!なぜ?

途方に暮れて、google先生に助けを求める。

検索結果にAppleの証明書の有効期限切れの対策が多いが、そうじゃないの気がする。

Appleの証明書の有効期限切れに伴い、2016年2月14日以前に作成したOS Xのインストールディスクが全て利用できない状態に。 – AAPL Ch-

下記の一件だけが気になった。

Mac再インストール時に「このOS X ○○ インストールアプリケーションを検証できません」というエラーが出る場合は日時が過去になってないか確認 – Qiita

ボタン電池交換で、時計が狂ったが原因でした。

コマンドラインから、時計を今日の日付に直した。変更するにはdateに続けて数値を2桁ずつ「月、日、時、分、年」の順番に入力する
(mmddHHMMyy)

2016年02月20日11時22分にしたい場合

date 0220112216

SSDのフォーマット

OS再インストールは、また問題にであった。換装したSSDが見つからない。

Windowsの感覚でインストーラがSSD見つかって、途中フォマードができると思ったが、違った!

再起動は数回したが、簡単にばらすWindows機材なら、もうばらして、コネクターの接続を確かめところだった。

先人のSSDに換装記事をよく見たら、インストール前に、「ディスクユーティリティ」でフォーマットが必要でした。

OSをインストールする

SSDフォーマットして、遂にOSのインストールにたどり着いた。それからほぼ順調に進んでいるが、Macのインストーラにて「残り1秒」で何十分も放置され、再起動するところでした。

2016-09-17 18.55.14

おわり

インストール途中、ときにはUSBキーボード効かない、Bluetoothキーボードをペアリングしろう;ときにはペアリングしたBluetoothキーボードも効かない、入力できない、気が付いて「キーボード不慣れモード」でマウスで文字入力操作ができた。しかしマウスのみ操作でアカウントのパスワード入力できなく、前に進まないなどなど、苦労が多いわ!

インストール終了後、USBキーボード、Bluetoothキーボードどちらも使えるようになったけど。

次はBoot Camp を使って Mac に Windows 7 をインストールすると考える。まず16GBUSBメモリを注文した。下記の内容は参考になりそう。

OS X El CapitanのBoot Campアシスタントを使ってWindows7をインストールする方法 – OTTAN.XYZ

WordPressの添付ファイルの差替え

国際会議のサイト構築の担当になり、WordPressで構築した。

CFPなど、いくつPDFの添付ファイルがありました。そのPDFファイルは結構頻繁に更新する。

更新するファイルをもう一度添付すると、URLが変わり、本文からのリンクも直す必要。手続き面倒な上、そもそもURL変わる自体も好ましくない。

たまたまEnable Media Replaceというプラグインに出会った。

https://wordpress.org/plugins/enable-media-replace/

ファイルをアップロードするだけで差替えるので、簡単そう。

9ドルコンピュータC.H.I.PでiBeacon体験

最初の9ドルコンピュータC.H.I.Pの作品はiBeaconにすると思う。

Mechanism

普通iBeaconはクーボンなどの配信をする機器だか、こちらはこどもの下校帰宅の知らせ機器にする。機能として:

  1. こどもにiBeacon持たせて、帰宅すると感知する
  2. 感知したら、区別して「XXXちゃん、お帰り」をしゃべり
  3. 親にメールを送る「XXXちゃん帰宅」
  4. (将来)親の伝音をしゃべる

名刺半分サイズだから、PCスピードなどの中に空いてる空間に組み込むして運用すると考える。

 

Bluetooth検知

まずBluetooth検知から。下記のサイトを見ながら、教科書通りまずBluetooth keyboardからと考えた。

http://docs.getchip.com/#connecting-bluetooth-devices

C.H.I.Pには、Bluetooth 内蔵、OSも内蔵なので、特になにもインストールの必要がなく利用できる。まずbluetoothctlコマンド使って、find, pair with, and connectなどを試す。

  • root@chip:~# bluetoothctl
    [NEW] Controller 7C:C7:08:DE:2A:4E chip [default]
    [bluetooth]# power on
    Changing power on succeeded
    [bluetooth]# scan on
    Discovery started
    [CHG] Controller 7C:C7:08:DE:2A:4E Discovering: yes
    [NEW] Device DD:52:20:CC:66:BA N0U9Z

の感じで、もう新しいDevice 見つかった。その後延々と周囲のBluetooth 機器の情報を報告。

このN0U9Zはなぜか用意したBluetooth keyboard(電池切れ?)ではなく、近所のiBeaconらしい。そうしたらも教科書通りBluetooth keyboard接続など飛ばして、自分が用意したiBeaconで体験を継続。

Raspberry Piと iBeacon関連サイトを調べて、必要な情報収集を行った。そこでわかって、bluetoothctlコマンドで対話式操作の他に、hcitool lescan で近くに BLE の端末がある場合は近づけると Mac アドレスとデバイス名を表示することもできる

  • hcitool lescan — BLE 検知テスト

 

node.js/bleacon 環境構築

検出ができたので、実現したい機能をプログラミングするだが、プログラミング環境として、まずnode.jsを考えた。

nodebrewnode.jsをインストールして、それからbleaconというモジュールでBluetooth を操る。

bleaconを利用するために、まずは node.js をインストール。node のバージョン管理を行う nodebrew を利用してインストール。

C.H.I.Pには、curlもないので、そのインストールから

  • root@chip:~# apt-get install curl
  • root@chip:~# curl -L git.io/nodebrew | perl – setup
  • chen@chip:~$ vi .bashrc
  • chen@chip:~$ source .bashrc
  • chen@chip:~$ nodebrew install-binary v0.10.28

しかし”v0.10.28 is not found”と怒られて。node.jsしばらく放置したので、この間結構変わった。日本語のページは古いのままだが、英語のページも最新版4.4.0になった。それをインストールに。

  • chen@chip:~$ nodebrew install-binary v4.4.0
  • chen@chip:~/ibeacon$ npm install bleacon
    npm WARN optional dep failed, continuing xpc-connection@0.1.4
    npm WARN optional dep failed, continuing xpc-connection@0.1.4
    > bignum@0.11.0 install /home/chen/ibeacon/node_modules/bleacon/node_modules/bignum
    > node-gyp configure build
    make: Entering directory ‘/home/chen/ibeacon/node_modules/bleacon/node_modules/bignum/build’
    CXX(target) Release/obj.target/bignum/bignum.o
    make: g++: Command not found

しかしそのbleaconというモジュールのインストールにエラーがたくさん出るから、お手上げ。

 

python/pybluez/iBeacon-Scanner 環境構築

ネットいろいろ検索して、kakakikikekeのサイトを参考にpythonで試すことにした。

Python から操作するためのライブラリをインストールします
pip を使うのでインストールしています

  • sudo apt-get -y install python-pip
  • sudo apt-get install python-dev libbluetooth-dev libboost-all-dev
  • sudo pip install pybluez
  • sudo pip install pybluez[ble]

ここもエラーが見回り、pybluez[ble]のインストール失敗でした。

ここで試しにiBeacon-Scanner を入れてなんど機能した。

サンプルのソースは簡単で、10個 BLE情報を受信すると情報を出力しつづけてくれる。

 

これてこどもの下校帰宅の知らせ機器は、pythonでプログラミングすると決定。できたらまたレポートする。

 

参考サイト:

Digital Library (@venus)