microEmacs UTF-8版のビルド方法

忘れるので以下に記載しておく(OS: Rocky8、CentOS7)

UTF-8版を作っている人からダウンロードする

$ git clone https://github.com/paaguti/mg3a.git

configureを作成する

$ cd mg3a
$ autoreconf -i

コンパイル、インストール

$ ./configure
$ make
$ sudo make install

デフォルトのインストール先は /usr/local/bin
ファイル名は mg

Let's encryptのIPアドレス

インターネット上にWebサーバを立てているのだが、 httpポート(80)はろくでもないものしかアクセスしてこないので
ポートを閉じたいのだが、Let's encryptを使っているため開けざるを得ない。
証明書を発行する際にLet's encryptはポート80でアクセスするためである。

なお、Let's encryptのIPアドレスは、非公開。確定していないらしい。

webのアクセスログから調べる

$ grep www.letsencrypt.org access_log  
35.93.42.184 - - [11/Jan/2024:15:22:21 +0900] "GET /.well-known/acme-challenge/...  
3.145.87.148 - - [11/Jan/2024:15:22:22 +0900] "GET /.well-known/acme-challenge/...  
23.178.112.103 - - [11/Jan/2024:15:22:22 +0900] "GET /.well-known/acme-challenge/  ...

CMANで調べてみる
URL=https://www.cman.jp/network/support/go_ip.cgi

35.93.42.184
ec2-35-93-42-184.us-west-2.compute.amazonaws.com

3.145.87.148
ec2-3-145-87-148.us-east-2.compute.amazonaws.com

23.178.112.103
outbound1d.letsencrypt.org

どうやらus-east2 amazon、us-west2とInternet Security Research Groupがあるようである

outbound**.letsencrypt.orgは以下が登録されている

outbound1a.letsencrypt.org to outbound1j.letsencrypt.org
outbound2a.letsencrypt.org to outbound2j.letsencrypt.org

amazonからのIPアドレス範囲の取得方法

curl "https://ip-ranges.amazonaws.com/ip-ranges.json" |jq -r '.prefixes[] | select(.region=="us-east-2") | select(.service=="EC2") | .ip_prefix' | sort

記事もあった、でも足りない、上の方法で列挙するしかないようである
https://community.letsencrypt.org/t/lets-encrypt-cidrs/200993

IP Address 3.138.245.232
Resolve Host ec2-3-138-245-232.us-east-2.compute.amazonaws.com
NetRange: 3.128.0.0 - 3.255.255.255
CIDR: 3.128.0.0/9

IP Address 23.178.112.208
Resolve Host outbound2i.letsencrypt.org
NetRange: 23.178.112.0 - 23.178.112.255
CIDR: 23.178.112.0/24

IP Address 34.220.184.113
Resolve Host ec2-34-220-184-113.us-west-2.compute.amazonaws.com
NetRange: 34.192.0.0 - 34.255.255.255
CIDR: 34.192.0.0/10

Resolve Host ec2-54-71-105-36.us-west-2.compute.amazonaws.com
IP Address 54.71.105.36
NetRange: 54.64.0.0 - 54.95.255.255
CIDR: 54.64.0.0/11

Resolve Host ec2-3-138-245-232.us-east-2.compute.amazonaws.com
IP Address 3.138.245.232
NetRange: 3.128.0.0 - 3.255.255.255
CIDR: 3.128.0.0/9

Resolve Host outbound2d.letsencrypt.org
IP Address 23.178.112.203
NetRange: 23.178.112.0 - 23.178.112.255
CIDR: 23.178.112.0/24

Resolve Host outbound1c.letsencrypt.org
IP Address 23.178.112.102
NetRange: 23.178.112.0 - 23.178.112.255
CIDR: 23.178.112.0/24

Resolve Host ec2-34-220-184-113.us-west-2.compute.amazonaws.com
IP Address 34.220.184.113
NetRange: 34.192.0.0 - 34.255.255.255
CIDR: 34.192.0.0/10

Lenovo X250でMacを動かす

Lenovo X250でMacを動かす

準備するもの

USBメモリ 16GB以上
USBメモリをフォーマット、ファイルコピーできるMAC
 私はMacを持っていないのでVMware Player で動くMacでフォーマットやファイル転送しました。

以下のファイルを探して解凍してインストールします。

  ・VMware-player-full-16.2.5-20904516.exe
  ・MK-unlocker.zip
  ・macOS Catalina Final by Geekrar.rar
  MK-unlocker.zipは VMware-playerをMac対応にするパッチ

・フォーマットしてかまわないX250

必要なファイル
1)Catalina のOSイメージ dmg または Big SurのOSイメージ dmg
2)OpenCore-0.8.6-RELEASE.zip
3)X250用のOpenCoreファイル

1)はググって探してダウンロードしておきます。

2)は以下のサイト、zipダウンロードしておきます。 https://github.com/acidanthera/OpenCorePkg/releases/

OpenCore-0.8.6-RELEASE.zip

ディレクトリは以下の構造になっています。

OpenCore-0.8.6-RELEASE.zip

Boot--+
           +-BOOTx64.efi
OC---+
          +-ACPI------+
           |           
          +-Bootstrap-+
           |             
          +-Drivers---+
           |           
          +-Kexts-----+
           |            
          +-Resources-+
           |           
          +-Tools-----+
           |           
          +-OpenCore.efi
           |            
          +-config.plist

EFIパーティションEFIフォルダの下にこの形で置くようです。

3)は以下のサイト、zipダウンロードしておきます。

https://github.com/dimka4996/Thinkpad-x250-Catalina-Big-sur-opencore/

Thinkpad-x250-Catalina-Big-sur-opencore.zip

このzipの中にALCPlugFix.zipがあります。
Audioに問題があって解凍して中のファイルを実行してパッチを当てるようです。

それ以外にも、Big Sur用のOpenCoreファイルをまとめている人がいるのですが、とりあえず上記のファイルで構築します。 https://github.com/zamprjkt/Lenovo-Thinkpad-X250-Hackintosh-Opencore

手順1)X250のBIOSの設定

Security -> Security Chip: Disabled
Memory Protection -> Execution Prevention: Enabled
Virtualization -> Intel Virtualization Technology: Enabled
Internal Device Access -> Bottom Cover Tamper Detection: must be Disabled
Anti-Theft -> Current Setting: Disabled
Anti-Theft -> Computrace -> Current Setting: Disabled
Secure Boot -> Secure Boot: Disabled
UEFI/Legacy Boot: UEFI Only
CSM Support: Yes

手順2)MacUSBメモリmacOSで使える形でフォーマットする

名前はなんでもいい、ここではMyVolumeにする

フォーマット、形式は以下の値にする

・MacOS拡張(ジャーナリング)
・GUIDパーティションマップ

するとUSBメモリには2つのパーティションができる。
1つはEFIというパーティション、これは自動でマウントしない隠しのパーティション

2)MacでOSイメージをUSBメモリへ転送する

Catalinaの場合

$ sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

Big Surの場合

$ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

MyVolumeはフォーマット時の設定したボリューム名
時間がかかる
完了したらUSBのボリュームがInstall macOS Catalina」「Install macOS Big Sur」という名前に変更されている

手順3)OpenCore.zipのファイル、X250用のファイルをUSBメモリEFIパーティションに転送する

    EFIパーティションは初期状態では何も入っていません。

作業はVMwareWorkstatinPlayerの仮想VM上のMac(Catalina)で作業です。

$ sudo disktutil list

/dev/disk3 (external, physical):
 #:   TYPE                  NAME                   SIZE      IDENTIFIER
 0:   FDisk_partition_schme                        *32.0 GB  disk3
 1:   EFI                   EFI                    209.7 MB  disk3s1
 2:   Apple_HFS             Install macOS Catalina  31.7 GB  disk3s2

EFIをmountする

$ sudo diskutil mount /dev/disk3s1

EFIフォルダがマウントできたらOK

停止する

$ sudo shutdown -h now

VM Ware Workstation Playerの対象仮想OSを選び 仮想マシン設定のオプション:共有フォルダを 「常に有効」にしてフォルダ指定する。

Macを起動する

Vmware-toolsをインストールする

環境設定でセキュリティ設定を変更しておく、インストールが有効になるように

設定した共有フォルダを開く

Catalina.dmgをクリックしてローカルHDにインストールする

USBメモリを指して以下を実行

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

1時間ぐらいかかる

/dev/diskの番号が変わるので要注意

EFIをマウントする

$ sudo diskutil mount /dev/disk3s1

EFIの下は以下の構造にする

+-Boot-+
|      +-BOOTx64.efi
|
+-OC---+
       +-ACPI------+
       |           
       +-Bootstrap-+
       |           
       +-Drivers---+
       |           
       +-Kexts-----+
       |           
       +-Resources-+
       |           
       +-Tools-----+
       |           
       +-OpenCore.efi
       +-config.plist
$ cp -r $HOME/Opencore-0.8.6/X64/EFI /Volume/EFI/

/Volume/EFI/の下にEFIフォルダがある形になる。

/Volume/EFI
         |
         +-EFI
            |
            +-Boot-+
            |
        +-OC---+
               +-ACPI------+
               |           
               +-Bootstrap-+
               |           
               +-Drivers---+
               |           
               +-Kexts-----+
               |           
               +-Resources-+
               |           
               +-Tools-----+

X250用のOpenCoreファイルをOC(OpenCore)フォルダの下へコピーする

$ cp -r $HOME/Thinkpad-x250-Catalina-Big-sur-opencore/* /Volume/EFI/EFI/OC/

OpenCoreはロシア人が作ったため、デフォルトがロシア語になっている。

そのためインストーラがロシア語になっている。

OCフォルダにあるconfig.plistを修正する

修正する箇所は以下のところdataが言語+キーボードレイアウトのデータ

config.plist

  <key>prev-lang:kbd</key>
    <data>cnUtUlU6MjUy</data>

ロシア語にデフォルトになっている

% echo “ru-RU:252” | tr -d ‘\n’| base64
cnUtUnU6MjUy

英語、USキーボードの場合は

  <key>prev-lang:kbd</key>
    <data>ZW4tVVM6MA==</data>

日本語(US配列)の場合は、

% echo ja-JP:0 |tr -d ‘\n’|base64
amEtSlA6MA==
  <key>prev-lang:kbd</key>
    <data>amEtSlA6MA==</data>

まとめると以下のドキュメントを参考

[Docs/Sample.plist]

                    <key>csr-active-config</key>                                         
                    <data>AAAAAA==</data>                                                
                    <key>prev-lang:kbd</key>                                             
  +                 <!-- For Russian locale and ABC keyboard -->                         
                    <data>cnUtUlU6MjUy</data>                                            
  +                 <!-- For English locale and US keyboard -->                           
  +                 <!--                                                                 
  +                 <data>ZW4tVVM6MA==</data>                                            
  +                 -->                                                                  
  +                 <!-- For Japanese locale and US keyboard -->                          
  +                 <!--                                                                 
  +                 <data>amEtSIA6MA==</data>                                            
  +                 -->                                                                  
  +                 <!-- For Japanese locale and KANA keyboard -->                        
  +                 <!--                                                                 
  +                 <data>amEtSlA6MTYzODQ=</data>                                        
  +                 -->                                                                  
                    <key>run-efi-updater</key>                                           
                    <string>No</string>                                                  
                </dict>                                                                  

USBブートメニューで

3) Reset NVRAM

を選ぶ、どうやらconfig.plistの内容が本体に反映される。

次に

2)Install

を選ぶ。 後はMacインストーラの画面が出るので適当に。 なおディスクフォーマットはAPFSにしないとインストール対象にならないらしい。

インストール中何回かリブートするが、USBメモリはそのままで、F12(Select Boot device)を押す必要もなく見守るだけ。

課題)3.5のイヤフォン時ホワイトノイズが発生する。

対策)Macインストール後、ALCPlugFix.zipを解凍して、install.shを実行する

参考) OpenCoreインストールガイド https://dortania.github.io/OpenCore-Install-Guide/

OpenCore対応のUSBメモリインストーラを作る。 https://gaddet.com/opencoreusb/

GitHubへソースをアップロードする操作メモ

準備)

Windows版gitをダウンロードしてインストールしておく

https://git-for-windows.github.io/

1)GitHubで使っているアカウントを設定する

$ git  config  --global  user.name  hogehoge

2)メールアドレスを設定する

$ git  config  --global  user.email  hogehoge@yahoo.co.jp

3)WebのGitHubからSettings->Developer Settings->Personal access tokens->Tokens(classic)で新しいTokenを発行し設定する

コマンドの形式

$ git config --global url.https://ユーザーネーム:入手したトークン@github.com/.insteadOf https://github.com/

トークンがghp_abcabcabc123の場合は以下のようになる

$ git  config  --global url.https://hogehoge:ghp_abcabcabc123@github.com/.insteadOf  https://github.com/

4)このまま作業すると以下の警告が出るので設定する(改行のCRLFとLFの変換問題)

warning: in the working copy of '***.***', LF will be replaced by CRLF the next time Git touches it
$ git  config  --global  core.autoCRLF  false

5)ダウンロード、アップロードテストのフォルダを作る

$ mkdir temp

6)gitHub上に作っていたレポジトリをクローン(ローカルにコピーする)

$ git  clone  https://github.com/hogehoge/MyApp

7)クローンしたフォルダへ移動

$ cd MyApp

8)ソースファイルをいろいろ置いてみる

$ cp -r  xxxxx . 

.gitignoreがあることを確認する、もちろん中身も確認する(アップロード対象外にするファイル)

9)変更をaddする

$ git  add  --all  *

以下のような警告が出るがこれは無視する(以下のファイルは無視しますよーーという警告)

hint: "git config advice.addIgnoredFile false"

10)変更をcommitする

$ git  commit  -am  "first release"

11)アップロードする

$ git  push

これで完了