Mac って何?それって美味しいの?

マイコンと呼ばれた時代から現在まで、使用記から何から何でも。

OpenCore で WindowsPC に MacOS Ventura をインストールする

現在、私のメインマシンは、HDD抜き取りジャンクで入手し、

SSD換装した iMac 21.5インチ core i7 Mid2011。

とうに現行のOSからは見放されているが、

OpenCore Legacy Patcher を当てて Montereyが動作している。

いくつか使えない機能(AirDropとか)があるものの

それは不自由を感じない。

が、1つだけどうにかしたいのが、

GPUがMETAL非対応のため、METALに依存したAPPが正常動作しないことだ。

GPU換装なんて、面倒なことはやりたくない。

新しいマシンを買う余裕もない。

あるのはヤフオクで漁った、ジャンクWindowsノートPCが2台。

CPUは Broadwell と Skylake だ。内蔵GPUはMETAL対応じゃん。

じゃあ、やっちゃう?

Legacy Patcher で使ってた OpenCore で初挑戦だけどいってみよー

 


www.youtube.com

 

 

Hardware specifications

NEC VersaPro タイプVX VK23L/X-U

CPU    Core i3 6100U (Skylake)
DISPLAY    15.6インチ 1366×768
RAM    12GB
Strage    SSD 250GB
GPU    Intel HD Graphics 520
WIFI    -
Bluetooth    -
OS    Windows 10 pro

ふたを開けると液晶周りの枠が、ぱっくり恥ずかしげもなく開いちゃうジャンク

押さえて開く、開いてもまたハメればいいだけだし、問題なし。

SSDに換装、RAM増設、ビジネスモデルでWIFIBluetooth無しでサッパリ仕様。

いじくるのに調べていて気づいた、NECマシンの中身はLenovoだよ。

 

ASUS X555LAB

CPU    Core i3 5005U (Broadwell)
DISPLAY    15.6インチ 1366×768
RAM    8GB
Strage    SSD 320GB
GPU    Intel HD Graphics 5500
WIFI    AR9485
Bluetooth    -
OS    Windows 10 Home

キーボード無反応、HDD抜き取りジャンクで入手。

開けてみたらHDD抜き取り後、外したケーブル類を挿してなかったっぽい。

SSDを取り付け、ケーブルをもとに戻し、キーボード復活。RAM増設。

 

Introduction

まず、手始めにVersaProから挑戦しました。

素晴らしいガイド OpenCore Install Guide があるので、手順に従って作業します。

ここには、私が実際に作業してみての要点や、

ガイドに逆らったこととかを残してきます。

 

Windows が起動するうちに OCSysInfo.exe でハードウェアの情報収集をします。

1台目(VersaPro)はOCSysInfoやってなくて、

オンボードオーディオ当てる時、わからなくて後悔した。

それと、ちょっと面倒だけど USB Mapping もやっておきます。

Windowsのツールはこちら GitHub - USBToolBox/tool: the USBToolBox tool

 

USB Creation

Creating the USB

iMacでガイド通りに作業。

Montereyで作業するならpython3インストール要。

2台目はUSBメモリをGPTではなくMBRで作ってみた。

USBに挿せば EFI がマウントされるので作業が楽です。

 

USBをMBRで作成

# Format
sudo diskutil eraseDisk FAT32 OCUSB MBRFormat /dev/disk9

# MBR Partition
diskutil partitionDisk /dev/disk9 2 MBR FAT32 "OC EFI" 200Mi HFS+J "MyVolume" R

# Ventura
sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

 

Adding The Base OpenCore Files

OpenCorePkg 環境に DEBUG と RELEASE がありますが、

両方ダウンロードします。

最初は DEBUG で構築します。

RELEASE からは、3つのファイルのみ使います。後述

 

Configs

config.plist の編集は ProperTree 一択です。

buildapp-select.command を実行してAPP化しておくと幸せです。

Clean Snapshot で config.plistのエントリーを自動生成後は

Lilu.kext を先頭にドラッグして移動することを忘れずに。

 

Broadwell や Skylake に Ventura をインストールする場合は、

ここにならって、 MacBookPro14,1 を SMBIOS に設定します。

それと、Skylake は device-id と AAPL,ig-platform-id に KabyLake の値を設定します。

WhateverGreen のスプーフィングってやつ?

  • AAPL,ig-platform-id: 00001B59
  • device-id:  1B590000

 

ブートピッカーのGUI

デフォルトだと、ブートピッカーがテキストで画面左上に表示されます。

画面がクリアされずに表示されることもあって、よく見落とします。

早々にブートピッカーをGUI化するのをおすすめします。

OpenCore beauty treatment | OpenCore Post-Install

 

Intel BIOS settings

OpenCoreの正常起動までたどり着けない場合は、

BIOS設定に問題がある可能性が高いので、怠けず確認しましょう。

 

Installation

USBブートで OpenCore 起動、そしてmacOSインストーラが起動するまで

ログを確認しググったり、構築したEFIのファイルやconfig.plistの見直し、

はたまた最初から作り直しとか、何度でも行います。

DEBUG 環境は、処理の進みが遅く止まっているように感じることがあります。

それに気づかず、何度も途中で電源ボタン長押ししちゃったよ。

気長に待ちましょう。放置しましょう。

失敗しているときは、禁止マークやエラーログで止まります。

 

macOS Installer

macOSインストーラの起動ができたなら、峠は越えたなって感じです。

私はWindowsmacOSデュアルブート用にパーティションを作成してから

macOSをインストールします。

 

デュアルブートパーティション作成

  1. ディスクユーティリティ起動
  2. サイドバーを「全てのデバイスを表示」に変更
  3. 消去でMacOS拡張ジャーナリング、GUIDパーティションマップ指定
  4. 2つのHFS+パーティションに分割、
  5. 消去でmacOSパーティションをHFS+からAPFSに変更

WindowsパーティションはまだHFS+のままで、

WindowsインストーラでHFS+パーティションを消去してインストールします。)

 

インストールプロセスで数回再起動しますが、

ちゃんとUSBからブートしてるか不安になるので見届けます。

 

Post-Install

OSの初期設定を済ませ、初回起動時にやることは

「このMacについて」だ!これを見ると達成感がある。

起動したけどなんか画面表示のエフェクトがおかしい。

あれ?なんでグラフィックメモリの割り当てが4MB?!

 

グラフィックアクセラレーション

DeviceProperties の DVMT-prealloc 設定値問題が気になったので、

対応策をやったら解決できました。

METALが当たっていることを確認し喜ぶ。

Skylake はこれでうまくいったけど Broadwell はこれだけではダメ。

OCLPを使ってグラフィックアクセラレーションパッチを適用する必要がある。

You can use OpenCore-Legacy-Patcher to add back support

ってガイドにあったけど、このことなんだね。

OCLP で Post install するわけだが、ガイドにもあったとおり

Requires SIP, Apple Secure Boot, and AMFI disabled.

しなきゃインストールできない。ちくしょー

 

secure bootを無効にする

Misc > Security

  • SecureBootModel: Disabled

AMFI無効にする、SIPを無効にする(0x803以上)

NVRAM

Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82

  • boot-args: amfi_get_out_of_my_way=1 を追加
  • csr-active-config: 03080000 に変更

Delete > 7C436110-AB2A-4BBB-A880-FE41995C9F82

  • (new sibling で付番) [string]: csr-active-config を追加

Deleteセクションで明示してオーバーライドします。

 

再起動後、OCLPでPost-Installします。

 

Open core RELEASE Install

USBインストーラEFIフォルダをコピー、SSDEFIをマウントしペースト。

DEBUG からRELEASE 環境に入れ替え、

config.plistのデバッグ設定も変更。

これでSSDから快適にブートできるようになった。

 

同一バージョンのRELEASEファイルに入れ替え

config.plist変更

NVRAM > Add

  • boot-args: -v オプションを消す

Misc > Debug

  • AppleDebug: False に変更
  • ApplePanic: False に変更
  • Target: 0 に変更

 

バッテリー表示、画面輝度変更、大丈夫そう。

音が出ないな。オンボードオーディオ認識してない。

Fixing audio with AppleALC | OpenCore Post-Install

OCSysInfoやってなかったので Codec調べるのに手間かかったけど、

boot-args の alcid=1 を alcid=11 に変更したら認識し音がでた。

もう、これでいい。あとの面倒そうなことはやらない。

VersaProWIFIBluetooth もないし、これでひとまず完成。

 

Broadwell はまだいくつか不具合があります。

 

Windows10 Install

Microsoft のサイトからツールをダウンロードし、インストールUSB作成。

インストールUSBから直接ブートせずに、

必ず OpenCore ブートピッカーからインストールUSBを選択します。

インストール手順で、HFS+のWindowsパーティションを消去して、

未割当領域になったところで、選択しインストールします。

 

Win10とmacOS デュアルOSマシン完成

iMac Mid2011に除外されたmacOSとWindows10をインストール

iMac 21.5インチ core i5 Mid2011にWindows10をインストールしたところ、

ブートループ問題とオンボードサウンド問題が起こりました。

iMac 12,1 Windows 10 Boot Loop – Fix Intel Graphics issue | zZq Franchise Internationale

対応策が紹介されていますが、めんどうそうですよね。

しかし、OpenCore Legacy Patcher(OCLP)を使って、

除外されたMontereyとWindows10のデュアルOSマシン(別のiMac Mid2011)では

問題なく動いています。

OCLPはMetal非対応のMacに Big sur や Monterey をインストールする方法として

利用させていただいていますが、BOOTCAMPのWindows10にも恩恵があったことに

気付かされました。

もし、macOSはHigh Sierraなどの対象内OSに留めておきたいならば、

OCLPのsettingでnative model をチェックしてBuild Installすれば、

OCLPでも起動できます。

 

MSOfficeの別のファイルからコピー貼り付けでフォントが変わってしまう事象について

知り合いから「あるExcelブックのシート1つを、別のExcelブックへコピーして」と頼まれた。

こんなの簡単、っとシートを別のブックへシートそのままコピーすると、セルの高さが変わってしまい用紙に収まらなくなった。

なぜ?

調べるとフォントが変わっていた。そのためExcelがフォントに合わせ、勝手にセルの高さを変えていたのだ。

これと近い事象を見つけた。

https://answers.microsoft.com/ja-jp/msoffice/forum/all/excel2016%E3%81%A7%E8%B2%BC%E3%82%8A%E4%BB%98/02bd57cc-3949-4669-ae49-d3eed1dc043f

 

f:id:yummac:20220330180916p:plain

テーマのフォント

f:id:yummac:20220330180949j:plain

セルのフォント


コピー元のテーマフォントは ”MS Pゴシック” だが、コピー先のテーマフォントは ”游ゴシック” だった。

単純にテーマフォントを同じ ”MS Pゴシック” にすればいいんじゃない?

でも、コピーしてきたシート以外の、別のシートのフォントにも影響するんじゃ困るよね。

じゃ、コピー前にテーマフォントじゃなく ”MS Pゴシック” に変更しよう。

シートのセルを全選択、フォントを変更。

テキストボックスもあるので、それも全選択してフォント変更。

そして、シートを別のブックへコピーする。

ふぅ、うまくいった。セルの高さ変わってない。

でも、改ページプレビューでは、なぜか収まってない。

うーむ。なぜ?

青い破線を移動して、改ページ位置を指定してみると収まった。

 

でもこの方法、コピー元でテーマフォント以外のフォントも使っていたら、全選択で変更しちゃったらダメだよね。Wordとか、テーマフォント以外のフォントも使うよね。

ちまちま選択してフォントを変更するとかやりたくない、絶対。

憎いテーマ、こいつを使わない方法はないのか?

まてよ、このテーマって昔のWordやExcelには無かったよね。

コピー元をExcel97-2003 5.0/95ブック形式で別名保存してやれば、テーマを使わない書式で保存できるのでは?

お、うまくいった!

今後は ”.doc” ”.xls" 形式で作ろうかなぁ。

Windows IIS で WordPress + Cesium

開発およびテストでは、Windows10 Pro のローカルマシン上に、XAMPPで簡易サーバーを構築し、WordPressを動かしていました。

本番環境は、私が「Linuxではなく、Windowsのほうがサクッと(構築)できて、メンテナンスもしやすいのでは?」と提言してしまったため、Windows Serverで運用することになりました。まったく調べもせず、経験も無く。

本番への移行手順の確認のため、ローカルマシンにWindows IISの設定、MySQLPHPWordPressを個々にインストールし、テスト環境を構築します。

WordPressの設定、子テーマやプラグインのインストールも終わり、サンプルデータの入ったサイトを動かしてみる。

ん?Cesiumが・・・
KMLファイルのロードで引っかかっていてコースが表示されない。

IISのファイルアクセス権限か何かか?と思い、そのあたりの設定をいじってみるが変わらない。これで、しばらく途方に暮れる。

そして、ネット上を彷徨ったのちに見つけた!

javascript - ASP.net mvc application hosted on server fails to load cesium map resource - Stack Overflow

これと同様の事象ではないか?
リンク先のweb.configを入れてみる。
やった!コースが表示された!

ああ、これで先に進める。

Cesiumで自転車ツアーのデモ

 

yummac.hatenablog.jp

その後、頑張って作りました。
ソースコードは、整理できてから公開したいと思います。

WordPress

  • GPX形式からKML形式、CZML形式変換プラグイン(管理画面)
  • 固定ページや投稿にCesiumを埋め込むショートコード作成

Cesium

  • ボタンおよび説明枠を追加
  • 自転車を走らせる3Dツアー機能を追加
  • 不具合対策 

Cesiumを使った、GarminサイクルGPSのルート表示と
その3Dツアー表示のデモムービーです。

youtu.be

ラインをクリックするとコース名と記事リンクが表示されます。
TOURボタンをクリックで自転車ツアーが始まります。
CAMボタンで、カメラ位置を真上(方角固定)/鳥瞰図(バードビュー)切り替え。
+-5xボタンでツアー速度を増減できるようにしました。

youtu.be

私のPCのパワー不足でレンダリングに時間を要しますが、
なかなか楽しめ、見ていて飽きないです。

コースのファイルサイズが大きい、あるいは
コースの本数が増えると読み込みが遅くなる、
Cesiumが起動しなくなる点をどう克服するかが課題です。

GarminサイクルGPSデータを地図上に表示してWordPress投稿とリンク(Cesium編)

 

 

yummac.hatenablog.jp

 

初めてで何もわからないので、とりあえずCesiumを動かしてみる。

XAMPP + WordPressアドオン でローカルサーバ環境は構築済みなので、
Cesiumをダウンロードし解凍後、
ローカルサーバへコピーするだけでインストール完了。

私は、テスト作業のしやすさやWordPressとの連携も考慮し、
WordPressのuploads下にcesiumを設置した。

北海道地図株式会社さんのスライドショーを参照し、動かしてみる。
やはり最初はHelloworld。おお!動く動く!
ちょっと遊んで、実装の仕様を考える。

やりたいこと

  • WordPressの固定ページに、Cesiumで日本地図を表示。
  • GarminのサイクルGPSデータを使って、地図上にラインを引く。
  • 地図上のラインをクリックすると、投稿記事へのリンクが表示される。

 

最初、WordPressの固定ページにCesiumのスクリプトを埋め込み、
テーマヘッダに必要な記述を追加する方法で実現した。
でも、インラインフレームで設置する方が、簡単で幸せだった。

GarminConnectでエクスポート可能な形式はGPXとFIT。
しかし、Cesiumでは両形式とも対応していません。
とりあえず、Googleマイマップ編でインポートしたものを、
Cesiumで対応しているKML形式で出力します。

KMLファイルを読み込んで表示するスクリプトです。

var viewer = new Cesium.Viewer('cesiumContainer');
var BikeRoot = viewer.dataSources.add(Cesium.KmlDataSource.load('./bikeroot.kml'));
viewer.zoomTo(BikeRoot);

 

f:id:yummac:20210104174233p:plain

f:id:yummac:20210104174253p:plain


なかなか悪くない。はじめてにしては上出来だ。

3D表示を活かし、動きのあるものへと改造意欲が湧いてくる。
が、いくつかの問題にも直面するのであった。

GarminサイクルGPSデータを地図上に表示してWordPress投稿とリンク(Googleマイマップ編)

 

yummac.hatenablog.jp

 

FacebookからWordPressへ引っ越しで、並行して作業していた内容になります。

移行しようとしているFacebookの記事、
一番の目的は「日本の各地を自転車で走ったときの日記」
を別のサイトにまとめたいわけですが、
「自転車で走行したルートを日本地図に描いて、
それをクリックすると対応しているFacebookの記事ページに飛ぶ」ということを、
クリッカブルマップではなくFlashを使って作っていたようで、
それもWordPress移行時に実現してほしいとのことでした。

WordPressでも同様の機能を実現するにあたり
走行記録ごとに走行ラインをエディタで描きリンクを張る、
という面倒なことは避けたい。やりたくない。

なら、走行ルートのライン表示は、GarminのサイクルGPSのデータを使おう。
地図は、サイトに埋め込みやすいGoogleマップでどうだろう。
マイマップならGPXファイルをインポート可能だ。

記事リンク付きマップの作成手順

  1. GarminConnectからGPX形式でコースデータを出力
  2. Googleマイマップ「レイヤーを追加」「インポート」でGPXファイルをインポート
  3. 出発地と目的地は邪魔なため削除(ラインだけ残る)
  4. 「編集」で説明欄に投稿記事のURLを貼り付ける(自動でリンクになる)
  5. 必要なだけ1から4の繰り返し
  6. マイマップ「自分のサイトに埋め込む」でiframeのHTMLを生成
  7. WordPressの固定ページに生成したHTMLを埋め込む

f:id:yummac:20201231190511p:plain

Googleマイマップ


とりあえず、作りこみの手間をかけずに実現する方法で、暫定的に良しと思った。
が、しばらくして問題に直面する。

GPXファイルは5MBが上限で、それを超えるファイルはインポートできない。
また、レイヤーは10個までで、1つの地図上に10コースまでとなる。

10個じゃ、ぜんぜん足りない。あと、5MB超えるのも結構ある。

他の方法を調べているうちに、あるサイトのプレゼンテーション資料を目にする。

Cesium?3D Mapping?こんなのが無料で使えるの?!しかも簡単そう。

それから、Cesiumを使って目的の機能を開発していくことになります。 

yummac.hatenablog.jp