CentOS8をAlmaLinux8にコンバートしてみた


CentOS8の代替ディストリビューションの1つ、 AlmaLinuxのβ版がダウンロードできるようになったのでインストールしてみようとした。

が・・・ESXi7.0U1上でISOからインストールしようとしたけど、AlmaLinux-8.3-beta-1-x86_64-boot.iso 、AlmaLinux-8.3-beta-1-x86_64-dvd1.iso、AlmaLinux-8.3-beta-1-x86_64-minimal.iso のどれを使ってもメディアとして認識してくれず起動できない。

仕方が無いのでCentOS8.3のメディアでインストールしてから切り替えてみることにした。

なお、あとで判明したのだが、起動できないのはAlmaLinux 8は現段階ではセキュアブート非対応であることが原因で、仮想マシンオプションで「セキュアブート:有効」設定を無効に変更することで起動する様になった。

基本手順は「CentOS8からOracle Linux 8への移行2(成功例/非公式手順/EFI環境用

インストールが終わったCentOS8でAlmaLinux8のAlmaLinux-8.3-beta-1-x86_64-dvd1.isoを/mntにマウントしてから、下記の /etc/yum.repos.d/media.repo を用意

[root@almalinux ~]# cat /etc/yum.repos.d/media.repo
[media]
name=AlmaLinux 8 Media
baseurl=file:///mnt/BaseOS
gpgcheck=0
[root@almalinux ~]#

続いてISO内のalmalinux-releaseをインストール。

[root@almalinux ~]# rpm -Uvh --force /mnt/BaseOS/Packages/almalinux-release-8.3-2.el8.x86_64.rpm
警告: /mnt/BaseOS/Packages/almalinux-release-8.3-2.el8.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID c21ad6ea: NOKEY
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:almalinux-release-8.3-2.el8      ################################# [100%]
[root@almalinux ~]#

CentOS8のcentos-linux-releaseと centos-linux-reposを削除

[root@almalinux ~]# dnf remove centos-linux-release centos-linux-repos
Repository baseos is listed more than once in the configuration
Repository appstream is listed more than once in the configuration
Repository powertools is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository baseos-source is listed more than once in the configuration
Repository appstream-source is listed more than once in the configuration
Repository extras-source is listed more than once in the configuration
依存関係が解決しました。
================================================================================
 パッケージ                Arch        バージョン          リポジトリー   サイズ
================================================================================
削除中:
 centos-linux-release      noarch      8.3-1.2011.el8      @anaconda       25 k
 centos-linux-repos        noarch      8-2.el8             @anaconda       26 k
未使用の依存関係の削除:
 centos-gpg-keys           noarch      1:8-2.el8           @anaconda      3.3 k

トランザクションの概要
================================================================================
削除  3 パッケージ

解放された容量: 54 k
これでよろしいですか? [y/N]: y
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  scriptletの実行中: centos-linux-release-8.3-1.2011.el8.noarch             1/1
  削除             : centos-linux-release-8.3-1.2011.el8.noarch             1/3
  削除             : centos-linux-repos-8-2.el8.noarch                      2/3
  削除             : centos-gpg-keys-1:8-2.el8.noarch                       3/3
  scriptletの実行中: centos-gpg-keys-1:8-2.el8.noarch                       3/3
  検証             : centos-gpg-keys-1:8-2.el8.noarch                       1/3
  検証             : centos-linux-release-8.3-1.2011.el8.noarch             2/3
  検証             : centos-linux-repos-8-2.el8.noarch                      3/3

削除しました:
  centos-gpg-keys-1:8-2.el8.noarch   centos-linux-release-8.3-1.2011.el8.noarch
  centos-linux-repos-8-2.el8.noarch

完了しました!
[root@almalinux ~]#

この段階でのレポジトリ登録を確認

[root@almalinux ~]# ls /etc/yum.repos.d/
almalinux.repo  media.repo
[root@almalinux ~]# dnf repolist
repo id                         repo の名前
appstream                       AlmaLinux 8.3 - AppStream
baseos                          AlmaLinux 8.3 - BaseOS
extras                          AlmaLinux 8.3 - Extras
media                           AlmaLinux 8 Media
powertools                      AlmaLinux 8.3 - PowerTools
[root@almalinux ~]#

「dnf distro-sync」を実行してCentOS由来のパッケージをAlmaLinuxのパッケージに入れ替える。

[root@almalinux ~]# dnf distro-sync
AlmaLinux 8.3 - BaseOS                          2.8 MB/s | 2.6 MB     00:00
AlmaLinux 8.3 - AppStream                       5.1 MB/s | 6.5 MB     00:01
AlmaLinux 8.3 - PowerTools                      2.0 MB/s | 1.9 MB     00:00
AlmaLinux 8.3 - Extras                          4.5 kB/s | 1.2 kB     00:00
依存関係が解決しました。
================================================================================
 パッケージ               Arch   バージョン                     Repo      サイズ
================================================================================
アップグレード:
 NetworkManager           x86_64 1:1.26.0-12.el8_3              baseos    2.4 M
 NetworkManager-libnm     x86_64 1:1.26.0-12.el8_3              baseos    1.7 M
 NetworkManager-team      x86_64 1:1.26.0-12.el8_3              baseos    141 k
 NetworkManager-tui       x86_64 1:1.26.0-12.el8_3              baseos    320 k
 curl                     x86_64 7.61.1-14.el8_3.1              baseos    352 k
 efi-filesystem           noarch 3-2.el8.alma                   baseos    7.9 k
 freetype                 x86_64 2.9.1-4.el8_3.1                baseos    393 k
 gnutls                   x86_64 3.6.14-7.el8_3                 baseos    1.0 M
 grub2-common             noarch 1:2.02-90.el8.alma             baseos    884 k
 grub2-efi-x64            x86_64 1:2.02-90.el8.alma             baseos    405 k
 grub2-tools              x86_64 1:2.02-90.el8.alma             baseos    2.0 M
 grub2-tools-extra        x86_64 1:2.02-90.el8.alma             baseos    1.1 M
 grub2-tools-minimal      x86_64 1:2.02-90.el8.alma             baseos    204 k
 iptables                 x86_64 1.8.4-15.el8_3.3               baseos    584 k
 iptables-ebtables        x86_64 1.8.4-15.el8_3.3               baseos     71 k
 iptables-libs            x86_64 1.8.4-15.el8_3.3               baseos    106 k
 kexec-tools              x86_64 2.0.20-34.el8_3.1              baseos    496 k
 libcurl                  x86_64 7.61.1-14.el8_3.1              baseos    298 k
 libgcc                   x86_64 8.3.1-5.1.el8.alma             baseos     77 k
 libgomp                  x86_64 8.3.1-5.1.el8.alma             baseos    203 k
 libreport-filesystem     x86_64 2.9.5-15.el8.alma              baseos     20 k
 libselinux               x86_64 2.9-4.el8_3                    baseos    165 k
 libselinux-utils         x86_64 2.9-4.el8_3                    baseos    242 k
 libstdc++                x86_64 8.3.1-5.1.el8.alma             baseos    450 k
 microcode_ctl            x86_64 4:20200609-2.20201112.1.el8_3  baseos    4.6 M
 openssl                  x86_64 1:1.1.1g-12.el8_3              baseos    706 k
 openssl-libs             x86_64 1:1.1.1g-12.el8_3              baseos    1.5 M
 python3-libselinux       x86_64 2.9-4.el8_3                    baseos    282 k
 shim-x64                 x86_64 15-16.el8.alma                 baseos    657 k
 sudo                     x86_64 1.8.29-6.el8_3.1               baseos    922 k
 systemd                  x86_64 239-41.el8_3.1                 baseos    3.5 M
 systemd-libs             x86_64 239-41.el8_3.1                 baseos    1.1 M
 systemd-pam              x86_64 239-41.el8_3.1                 baseos    456 k
 systemd-udev             x86_64 239-41.el8_3.1                 baseos    1.4 M
 tuned                    noarch 2.14.0-3.el8_3.1.alma          baseos    291 k
 tzdata                   noarch 2021a-1.el8                    baseos    472 k
再インストール:
 acl                      x86_64 2.2.53-1.el8                   baseos     81 k
 audit                    x86_64 3.0-0.17.20191104git1c2f876.el8
                                                                baseos    255 k
 audit-libs               x86_64 3.0-0.17.20191104git1c2f876.el8
                                                                baseos    117 k
 authselect               x86_64 1.2.1-2.el8                    baseos    114 k
 authselect-libs          x86_64 1.2.1-2.el8                    baseos    210 k
 basesystem               noarch 11-5.el8                       baseos     10 k
 bash                     x86_64 4.4.19-12.el8                  baseos    1.5 M
 bind-export-libs         x86_64 32:9.11.20-5.el8               baseos    1.1 M
 biosdevname              x86_64 0.7.3-2.el8                    baseos     44 k
 brotli                   x86_64 1.0.6-2.el8                    baseos    322 k
 bzip2-libs               x86_64 1.0.6-26.el8                   baseos     48 k
 c-ares                   x86_64 1.13.0-5.el8                   baseos     93 k
 ca-certificates          noarch 2020.2.41-80.0.el8_2           baseos    391 k
 chkconfig                x86_64 1.13-2.el8                     baseos    194 k
 coreutils                x86_64 8.30-8.el8                     baseos    1.2 M
 coreutils-common         x86_64 8.30-8.el8                     baseos    2.0 M
 cpio                     x86_64 2.12-8.el8                     baseos    265 k
 cracklib                 x86_64 2.9.6-15.el8                   baseos     93 k
 cracklib-dicts           x86_64 2.9.6-15.el8                   baseos    4.0 M
 cronie                   x86_64 1.5.2-4.el8                    baseos    118 k
 cronie-anacron           x86_64 1.5.2-4.el8                    baseos     41 k
 crontabs                 noarch 1.11-16.20150630git.el8        baseos     25 k
 crypto-policies          noarch 20200713-1.git51d1222.el8      baseos     61 k
 crypto-policies-scripts  noarch 20200713-1.git51d1222.el8      baseos     67 k
 cryptsetup-libs          x86_64 2.3.3-2.el8                    baseos    469 k
 cyrus-sasl-lib           x86_64 2.1.27-5.el8                   baseos    123 k
 dbus                     x86_64 1:1.12.8-11.el8                baseos     40 k
 dbus-common              noarch 1:1.12.8-11.el8                baseos     45 k
 dbus-daemon              x86_64 1:1.12.8-11.el8                baseos    239 k
 dbus-glib                x86_64 0.110-2.el8                    baseos    127 k
 dbus-libs                x86_64 1:1.12.8-11.el8                baseos    183 k
 dbus-tools               x86_64 1:1.12.8-11.el8                baseos     84 k
 dbxtool                  x86_64 8-5.el8                        baseos     37 k
 device-mapper            x86_64 8:1.02.171-5.el8               baseos    373 k
 device-mapper-event      x86_64 8:1.02.171-5.el8               baseos    267 k
 device-mapper-event-libs x86_64 8:1.02.171-5.el8               baseos    266 k
 device-mapper-libs       x86_64 8:1.02.171-5.el8               baseos    405 k
 device-mapper-persistent-data
                          x86_64 0.8.5-4.el8                    baseos    468 k
 dhcp-client              x86_64 12:4.3.6-41.el8                baseos    317 k
 dhcp-common              noarch 12:4.3.6-41.el8                baseos    206 k
 dhcp-libs                x86_64 12:4.3.6-41.el8                baseos    147 k
 diffutils                x86_64 3.6-6.el8                      baseos    361 k
 dmidecode                x86_64 1:3.2-6.el8                    baseos     91 k
 dnf                      noarch 4.2.23-4.el8                   baseos    512 k
 dnf-data                 noarch 4.2.23-4.el8                   baseos    148 k
 dnf-plugins-core         noarch 4.0.17-5.el8                   baseos     65 k
 dosfstools               x86_64 4.1-6.el8                      baseos    121 k
 dracut                   x86_64 049-95.git20200804.el8         baseos    366 k
 dracut-config-rescue     x86_64 049-95.git20200804.el8         baseos     55 k
 dracut-network           x86_64 049-95.git20200804.el8         baseos    102 k
 dracut-squash            x86_64 049-95.git20200804.el8         baseos     56 k
 e2fsprogs                x86_64 1.45.6-1.el8                   baseos    1.0 M
 e2fsprogs-libs           x86_64 1.45.6-1.el8                   baseos    232 k
 efibootmgr               x86_64 16-1.el8                       baseos     47 k
 efivar                   x86_64 37-4.el8                       baseos     35 k
 efivar-libs              x86_64 37-4.el8                       baseos    107 k
 elfutils-debuginfod-client
                          x86_64 0.180-1.el8                    baseos     63 k
 elfutils-default-yama-scope
                          noarch 0.180-1.el8                    baseos     48 k
 elfutils-libelf          x86_64 0.180-1.el8                    baseos    214 k
 elfutils-libs            x86_64 0.180-1.el8                    baseos    292 k
 ethtool                  x86_64 2:5.0-2.el8                    baseos    151 k
 expat                    x86_64 2.2.5-4.el8                    baseos    110 k
 file                     x86_64 5.33-16.el8                    baseos     76 k
 file-libs                x86_64 5.33-16.el8                    baseos    542 k
 filesystem               x86_64 3.8-3.el8                      baseos    1.1 M
 findutils                x86_64 1:4.6.0-20.el8                 baseos    528 k
 firewalld                noarch 0.8.2-2.el8                    baseos    487 k
 firewalld-filesystem     noarch 0.8.2-2.el8                    baseos     75 k
 fuse                     x86_64 2.9.7-12.el8                   baseos     82 k
 fuse-common              x86_64 3.2.1-12.el8                   baseos     21 k
 fuse-libs                x86_64 2.9.7-12.el8                   baseos    102 k
 gawk                     x86_64 4.2.1-1.el8                    baseos    1.1 M
 gdbm                     x86_64 1:1.18-1.el8                   baseos    130 k
 gdbm-libs                x86_64 1:1.18-1.el8                   baseos     60 k
 geolite2-city            noarch 20180605-1.el8                 baseos     19 M
 geolite2-country         noarch 20180605-1.el8                 baseos    1.0 M
 gettext                  x86_64 0.19.8.1-17.el8                baseos    1.1 M
 gettext-libs             x86_64 0.19.8.1-17.el8                baseos    312 k
 glib2                    x86_64 2.56.4-8.el8                   baseos    2.5 M
 glibc                    x86_64 2.28-127.el8                   baseos    3.6 M
 glibc-common             x86_64 2.28-127.el8                   baseos    1.3 M
 glibc-langpack-ja        x86_64 2.28-127.el8                   baseos    329 k
 gmp                      x86_64 1:6.1.2-10.el8                 baseos    322 k
 gnupg2                   x86_64 2.2.20-2.el8                   baseos    2.4 M
 gnupg2-smime             x86_64 2.2.20-2.el8                   baseos    283 k
 gobject-introspection    x86_64 1.56.1-1.el8                   baseos    255 k
 gpgme                    x86_64 1.13.1-3.el8                   baseos    335 k
 grep                     x86_64 3.1-6.el8                      baseos    274 k
 groff-base               x86_64 1.22.3-18.el8                  baseos    1.0 M
 grubby                   x86_64 8.40-41.el8                    baseos     49 k
 gzip                     x86_64 1.9-9.el8                      baseos    166 k
 hardlink                 x86_64 1:1.3-6.el8                    baseos     29 k
 hdparm                   x86_64 9.54-2.el8                     baseos    100 k
 hostname                 x86_64 3.20-6.el8                     baseos     32 k
 hwdata                   noarch 0.314-8.6.el8                  baseos    1.6 M
 ima-evm-utils            x86_64 1.1-5.el8                      baseos     55 k
 info                     x86_64 6.5-6.el8                      baseos    199 k
 initscripts              x86_64 10.00.9-1.el8                  baseos    338 k
 ipcalc                   x86_64 0.2.4-4.el8                    baseos     38 k
 iprutils                 x86_64 2.4.19-1.el8                   baseos    255 k
 ipset                    x86_64 7.1-1.el8                      baseos     45 k
 ipset-libs               x86_64 7.1-1.el8                      baseos     71 k
 iputils                  x86_64 20180629-2.el8                 baseos    148 k
 irqbalance               x86_64 2:1.4.0-4.el8                  baseos     55 k
 iwl100-firmware          noarch 39.31.5.1-99.el8.1             baseos    168 k
 iwl1000-firmware         noarch 1:39.31.5.1-99.el8.1           baseos    231 k
 iwl105-firmware          noarch 18.168.6.1-99.el8.1            baseos    252 k
 iwl135-firmware          noarch 18.168.6.1-99.el8.1            baseos    261 k
 iwl2000-firmware         noarch 18.168.6.1-99.el8.1            baseos    255 k
 iwl2030-firmware         noarch 18.168.6.1-99.el8.1            baseos    264 k
 iwl3160-firmware         noarch 1:25.30.13.0-99.el8.1          baseos    1.7 M
 iwl5000-firmware         noarch 8.83.5.1_1-99.el8.1            baseos    312 k
 iwl5150-firmware         noarch 8.24.2.2-99.el8.1              baseos    165 k
 iwl6000-firmware         noarch 9.221.4.1-99.el8.1             baseos    185 k
 iwl6000g2a-firmware      noarch 18.168.6.1-99.el8.1            baseos    328 k
 iwl6050-firmware         noarch 41.28.5.1-99.el8.1             baseos    261 k
 iwl7260-firmware         noarch 1:25.30.13.0-99.el8.1          baseos     15 M
 jansson                  x86_64 2.11-3.el8                     baseos     46 k
 json-c                   x86_64 0.13.1-0.2.el8                 baseos     40 k
 kbd                      x86_64 2.0.4-10.el8                   baseos    390 k
 kbd-legacy               noarch 2.0.4-10.el8                   baseos    481 k
 kbd-misc                 noarch 2.0.4-10.el8                   baseos    1.5 M
 kernel                   x86_64 4.18.0-240.el8                 baseos    4.3 M
 kernel-core              x86_64 4.18.0-240.el8                 baseos     30 M
 kernel-modules           x86_64 4.18.0-240.el8                 baseos     26 M
 kernel-tools             x86_64 4.18.0-240.el8                 baseos    4.5 M
 kernel-tools-libs        x86_64 4.18.0-240.el8                 baseos    4.3 M
 keyutils-libs            x86_64 1.5.10-6.el8                   baseos     33 k
 kmod                     x86_64 25-16.el8                      baseos    127 k
 kmod-libs                x86_64 25-16.el8                      baseos     69 k
 kpartx                   x86_64 0.8.4-5.el8                    baseos    108 k
 krb5-libs                x86_64 1.18.2-5.el8                   baseos    837 k
 langpacks-ja             noarch 1.0-12.el8                     appstream 9.4 k
 less                     x86_64 530-1.el8                      baseos    164 k
 libacl                   x86_64 2.2.53-1.el8                   baseos     35 k
 libaio                   x86_64 0.3.112-1.el8                  baseos     32 k
 libarchive               x86_64 3.3.2-9.el8                    baseos    357 k
 libassuan                x86_64 2.5.1-3.el8                    baseos     83 k
 libattr                  x86_64 2.4.48-3.el8                   baseos     27 k
 libbasicobjects          x86_64 0.1.1-39.el8                   baseos     31 k
 libblkid                 x86_64 2.32.1-24.el8                  baseos    216 k
 libcap                   x86_64 2.26-4.el8                     baseos     59 k
 libcap-ng                x86_64 0.7.9-5.el8                    baseos     33 k
 libcollection            x86_64 0.7.0-39.el8                   baseos     48 k
 libcom_err               x86_64 1.45.6-1.el8                   baseos     48 k
 libcomps                 x86_64 0.1.11-4.el8                   baseos     81 k
 libcroco                 x86_64 0.6.12-4.el8_2.1               baseos    112 k
 libdaemon                x86_64 0.14-15.el8                    baseos     36 k
 libdb                    x86_64 5.3.28-39.el8                  baseos    749 k
 libdb-utils              x86_64 5.3.28-39.el8                  baseos    149 k
 libdhash                 x86_64 0.5.0-39.el8                   baseos     34 k
 libdnf                   x86_64 0.48.0-5.el8                   baseos    649 k
 libdrm                   x86_64 2.4.101-1.el8                  appstream 164 k
 libedit                  x86_64 3.1-23.20170329cvs.el8         baseos    102 k
 libestr                  x86_64 0.1.10-1.el8                   appstream  27 k
 libevent                 x86_64 2.1.8-5.el8                    baseos    253 k
 libfastjson              x86_64 0.99.8-2.el8                   appstream  37 k
 libfdisk                 x86_64 2.32.1-24.el8                  baseos    249 k
 libffi                   x86_64 3.1-22.el8                     baseos     37 k
 libgcrypt                x86_64 1.8.5-4.el8                    baseos    462 k
 libgpg-error             x86_64 1.31-1.el8                     baseos    242 k
 libidn2                  x86_64 2.2.0-1.el8                    baseos     93 k
 libini_config            x86_64 1.3.1-39.el8                   baseos     70 k
 libkcapi                 x86_64 1.2.0-2.el8                    baseos     48 k
 libkcapi-hmaccalc        x86_64 1.2.0-2.el8                    baseos     31 k
 libksba                  x86_64 1.3.5-7.el8                    baseos    134 k
 libldb                   x86_64 2.1.3-2.el8                    baseos    178 k
 libmaxminddb             x86_64 1.2.0-10.el8                   baseos     33 k
 libmetalink              x86_64 0.1.3-7.el8                    baseos     32 k
 libmnl                   x86_64 1.0.4-6.el8                    baseos     30 k
 libmodulemd              x86_64 2.9.4-2.el8                    baseos    188 k
 libmount                 x86_64 2.32.1-24.el8                  baseos    231 k
 libmspack                x86_64 0.7-0.3.alpha.el8.4            appstream  71 k
 libndp                   x86_64 1.7-3.el8                      baseos     41 k
 libnetfilter_conntrack   x86_64 1.0.6-5.el8                    baseos     65 k
 libnfnetlink             x86_64 1.0.1-13.el8                   baseos     33 k
 libnfsidmap              x86_64 1:2.3.3-35.el8                 baseos    119 k
 libnftnl                 x86_64 1.1.5-4.el8                    baseos     83 k
 libnghttp2               x86_64 1.33.0-3.el8_2.1               baseos     77 k
 libnl3                   x86_64 3.5.0-1.el8                    baseos    324 k
 libnl3-cli               x86_64 3.5.0-1.el8                    baseos    198 k
 libnsl2                  x86_64 1.2.0-2.20180605git4a062cf.el8 baseos     58 k
 libpath_utils            x86_64 0.2.1-39.el8                   baseos     34 k
 libpcap                  x86_64 14:1.9.1-4.el8                 baseos    166 k
 libpciaccess             x86_64 0.14-1.el8                     baseos     32 k
 libpipeline              x86_64 1.5.0-2.el8                    baseos     54 k
 libpng                   x86_64 2:1.6.34-5.el8                 baseos    126 k
 libpsl                   x86_64 0.20.2-6.el8                   baseos     61 k
 libpwquality             x86_64 1.4.0-9.el8                    baseos    102 k
 libref_array             x86_64 0.1.5-39.el8                   baseos     33 k
 librepo                  x86_64 1.12.0-2.el8                   baseos     89 k
 libseccomp               x86_64 2.4.3-1.el8                    baseos     67 k
 libsecret                x86_64 0.18.6-1.el8                   baseos    163 k
 libsemanage              x86_64 2.9-3.el8                      baseos    164 k
 libsepol                 x86_64 2.9-1.el8                      baseos    340 k
 libsigsegv               x86_64 2.11-5.el8                     baseos     30 k
 libsmartcols             x86_64 2.32.1-24.el8                  baseos    175 k
 libsolv                  x86_64 0.7.11-1.el8                   baseos    358 k
 libss                    x86_64 1.45.6-1.el8                   baseos     53 k
 libssh                   x86_64 0.9.4-2.el8                    baseos    214 k
 libssh-config            noarch 0.9.4-2.el8                    baseos     18 k
 libsss_autofs            x86_64 2.3.0-9.el8                    baseos    108 k
 libsss_certmap           x86_64 2.3.0-9.el8                    baseos    140 k
 libsss_idmap             x86_64 2.3.0-9.el8                    baseos    110 k
 libsss_nss_idmap         x86_64 2.3.0-9.el8                    baseos    117 k
 libsss_sudo              x86_64 2.3.0-9.el8                    baseos    106 k
 libsysfs                 x86_64 2.1.0-24.el8                   baseos     53 k
 libtalloc                x86_64 2.3.1-2.el8                    baseos     49 k
 libtasn1                 x86_64 4.13-3.el8                     baseos     76 k
 libtdb                   x86_64 1.4.3-1.el8                    baseos     58 k
 libteam                  x86_64 1.31-2.el8                     baseos     64 k
 libtevent                x86_64 0.10.2-2.el8                   baseos     49 k
 libtirpc                 x86_64 1.1.4-4.el8                    baseos    112 k
 libtool-ltdl             x86_64 2.4.6-25.el8                   baseos     58 k
 libunistring             x86_64 0.9.9-3.el8                    baseos    422 k
 libuser                  x86_64 0.62-23.el8                    baseos    416 k
 libutempter              x86_64 1.1.6-14.el8                   baseos     31 k
 libuuid                  x86_64 2.32.1-24.el8                  baseos     94 k
 libverto                 x86_64 0.3.0-5.el8                    baseos     24 k
 libxcrypt                x86_64 4.1.1-4.el8                    baseos     73 k
 libxkbcommon             x86_64 0.9.1-1.el8                    baseos    116 k
 libxml2                  x86_64 2.9.7-8.el8                    baseos    695 k
 libxslt                  x86_64 1.1.32-5.el8                   baseos    249 k
 libyaml                  x86_64 0.1.7-5.el8                    baseos     61 k
 libzstd                  x86_64 1.4.4-1.el8                    baseos    266 k
 linux-firmware           noarch 20200619-99.git3890db36.el8    baseos    101 M
 logrotate                x86_64 3.14.0-4.el8                   baseos     85 k
 lshw                     x86_64 B.02.19.2-2.el8                baseos    340 k
 lsscsi                   x86_64 0.30-1.el8                     baseos     69 k
 lua-libs                 x86_64 5.3.4-11.el8                   baseos    118 k
 lvm2                     x86_64 8:2.03.09-5.el8                baseos    1.6 M
 lvm2-libs                x86_64 8:2.03.09-5.el8                baseos    1.1 M
 lz4-libs                 x86_64 1.8.3-2.el8                    baseos     65 k
 lzo                      x86_64 2.08-14.el8                    baseos     69 k
 man-db                   x86_64 2.7.6.1-17.el8                 baseos    887 k
 memstrack                x86_64 0.1.11-1.el8                   baseos     47 k
 mokutil                  x86_64 1:0.3.0-10.el8                 baseos     45 k
 mozjs60                  x86_64 60.9.0-4.el8                   baseos    6.7 M
 mpfr                     x86_64 3.1.6-1.el8                    baseos    221 k
 ncurses                  x86_64 6.1-7.20180224.el8             baseos    387 k
 ncurses-base             noarch 6.1-7.20180224.el8             baseos     81 k
 ncurses-libs             x86_64 6.1-7.20180224.el8             baseos    335 k
 nettle                   x86_64 3.4.1-2.el8                    baseos    300 k
 newt                     x86_64 0.52.20-11.el8                 baseos    121 k
 nftables                 x86_64 1:0.9.3-16.el8                 baseos    311 k
 npth                     x86_64 1.5-4.el8                      baseos     26 k
 numactl-libs             x86_64 2.0.12-11.el8                  baseos     36 k
 open-vm-tools            x86_64 11.1.0-2.el8                   appstream 715 k
 openldap                 x86_64 2.4.46-15.el8                  baseos    351 k
 openssh                  x86_64 8.0p1-5.el8                    baseos    520 k
 openssh-clients          x86_64 8.0p1-5.el8                    baseos    666 k
 openssh-server           x86_64 8.0p1-5.el8                    baseos    483 k
 openssl-pkcs11           x86_64 0.4.10-2.el8                   baseos     66 k
 os-prober                x86_64 1.74-6.el8                     baseos     51 k
 p11-kit                  x86_64 0.23.14-5.el8_0                baseos    272 k
 p11-kit-trust            x86_64 0.23.14-5.el8_0                baseos    139 k
 pam                      x86_64 1.3.1-11.el8                   baseos    738 k
 parted                   x86_64 3.2-38.el8                     baseos    555 k
 passwd                   x86_64 0.80-3.el8                     baseos    114 k
 pciutils                 x86_64 3.6.4-2.el8                    baseos    102 k
 pciutils-libs            x86_64 3.6.4-2.el8                    baseos     53 k
 pcre                     x86_64 8.42-4.el8                     baseos    208 k
 pcre2                    x86_64 10.32-2.el8                    baseos    246 k
 pigz                     x86_64 2.4-4.el8                      baseos     79 k
 pinentry                 x86_64 1.1.0-2.el8                    baseos    100 k
 platform-python          x86_64 3.6.8-31.el8                   baseos     83 k
 platform-python-pip      noarch 9.0.3-18.el8                   baseos    1.7 M
 platform-python-setuptools
                          noarch 39.2.0-6.el8                   baseos    632 k
 plymouth                 x86_64 0.9.4-7.20200615git1e36e30.el8 appstream 126 k
 plymouth-core-libs       x86_64 0.9.4-7.20200615git1e36e30.el8 appstream 121 k
 plymouth-scripts         x86_64 0.9.4-7.20200615git1e36e30.el8 appstream  42 k
 policycoreutils          x86_64 2.9-9.el8                      baseos    377 k
 polkit                   x86_64 0.115-11.el8                   baseos    154 k
 polkit-libs              x86_64 0.115-11.el8                   baseos     76 k
 polkit-pkla-compat       x86_64 0.1-12.el8                     baseos     46 k
 popt                     x86_64 1.16-14.el8                    baseos     61 k
 prefixdevname            x86_64 0.1.0-6.el8                    baseos    460 k
 procps-ng                x86_64 3.3.15-3.el8                   baseos    328 k
 publicsuffix-list-dafsa  noarch 20180723-1.el8                 baseos     56 k
 python3-configobj        noarch 5.0.6-11.el8                   baseos     68 k
 python3-dateutil         noarch 1:2.6.1-6.el8                  baseos    251 k
 python3-dbus             x86_64 1.2.4-15.el8                   baseos    134 k
 python3-decorator        noarch 4.2.1-2.el8                    baseos     27 k
 python3-dmidecode        x86_64 3.12.2-15.el8                  baseos     93 k
 python3-dnf              noarch 4.2.23-4.el8                   baseos    525 k
 python3-dnf-plugins-core noarch 4.0.17-5.el8                   baseos    220 k
 python3-firewall         noarch 0.8.2-2.el8                    baseos    391 k
 python3-gobject-base     x86_64 3.28.3-2.el8                   baseos    312 k
 python3-gpg              x86_64 1.13.1-3.el8                   baseos    244 k
 python3-hawkey           x86_64 0.48.0-5.el8                   baseos    110 k
 python3-libcomps         x86_64 0.1.11-4.el8                   baseos     52 k
 python3-libdnf           x86_64 0.48.0-5.el8                   baseos    755 k
 python3-libs             x86_64 3.6.8-31.el8                   baseos    7.8 M
 python3-libxml2          x86_64 2.9.7-8.el8                    baseos    236 k
 python3-linux-procfs     noarch 0.6.2-2.el8                    baseos     42 k
 python3-nftables         x86_64 1:0.9.3-16.el8                 baseos     26 k
 python3-perf             x86_64 4.18.0-240.el8                 baseos    4.4 M
 python3-pip-wheel        noarch 9.0.3-18.el8                   baseos    1.0 M
 python3-pyudev           noarch 0.21.0-7.el8                   baseos     84 k
 python3-rpm              x86_64 4.14.3-4.el8                   baseos    156 k
 python3-schedutils       x86_64 0.6-6.el8                      baseos     29 k
 python3-setuptools-wheel noarch 39.2.0-6.el8                   baseos    288 k
 python3-six              noarch 1.11.0-8.el8                   baseos     38 k
 python3-slip             noarch 0.6.4-11.el8                   baseos     38 k
 python3-slip-dbus        noarch 0.6.4-11.el8                   baseos     39 k
 python3-unbound          x86_64 1.7.3-14.el8                   baseos    118 k
 readline                 x86_64 7.0-10.el8                     baseos    199 k
 rng-tools                x86_64 6.8-3.el8                      baseos     59 k
 rootfiles                noarch 8.1-22.el8                     baseos     13 k
 rpm                      x86_64 4.14.3-4.el8                   baseos    540 k
 rpm-build-libs           x86_64 4.14.3-4.el8                   baseos    154 k
 rpm-libs                 x86_64 4.14.3-4.el8                   baseos    338 k
 rpm-plugin-selinux       x86_64 4.14.3-4.el8                   baseos     75 k
 rpm-plugin-systemd-inhibit
                          x86_64 4.14.3-4.el8                   baseos     76 k
 rsyslog                  x86_64 8.1911.0-6.el8                 appstream 731 k
 sed                      x86_64 4.5-2.el8                      baseos    297 k
 selinux-policy           noarch 3.14.3-54.el8                  baseos    621 k
 selinux-policy-targeted  noarch 3.14.3-54.el8                  baseos     15 M
 setup                    noarch 2.12.2-6.el8                   baseos    180 k
 sg3_utils                x86_64 1.44-5.el8                     baseos    919 k
 sg3_utils-libs           x86_64 1.44-5.el8                     baseos     99 k
 shadow-utils             x86_64 2:4.6-11.el8                   baseos    1.2 M
 shared-mime-info         x86_64 1.9-3.el8                      baseos    328 k
 slang                    x86_64 2.3.2-3.el8                    baseos    368 k
 snappy                   x86_64 1.1.8-3.el8                    baseos     37 k
 sqlite-libs              x86_64 3.26.0-11.el8                  baseos    580 k
 squashfs-tools           x86_64 4.3-19.el8                     baseos    165 k
 sssd-client              x86_64 2.3.0-9.el8                    baseos    170 k
 sssd-common              x86_64 2.3.0-9.el8                    baseos    1.5 M
 sssd-kcm                 x86_64 2.3.0-9.el8                    baseos    223 k
 sssd-nfs-idmap           x86_64 2.3.0-9.el8                    baseos    104 k
 tar                      x86_64 2:1.30-5.el8                   baseos    837 k
 teamd                    x86_64 1.31-2.el8                     baseos    130 k
 trousers                 x86_64 0.3.14-4.el8                   baseos    152 k
 trousers-lib             x86_64 0.3.14-4.el8                   baseos    168 k
 unbound-libs             x86_64 1.7.3-14.el8                   baseos    499 k
 util-linux               x86_64 2.32.1-24.el8                  baseos    2.5 M
 vim-minimal              x86_64 2:8.0.1763-15.el8              baseos    572 k
 virt-what                x86_64 1.18-6.el8                     baseos     35 k
 which                    x86_64 2.21-12.el8                    baseos     49 k
 xfsprogs                 x86_64 5.0.0-4.el8                    baseos    1.1 M
 xkeyboard-config         noarch 2.28-1.el8                     baseos    782 k
 xmlsec1                  x86_64 1.2.25-4.el8                   appstream 190 k
 xmlsec1-openssl          x86_64 1.2.25-4.el8                   appstream  93 k
 xz                       x86_64 5.2.4-3.el8                    baseos    153 k
 xz-libs                  x86_64 5.2.4-3.el8                    baseos     94 k
 yum                      noarch 4.2.23-4.el8                   baseos    191 k
 zlib                     x86_64 1.2.11-16.el8_2                baseos    102 k
依存関係のインストール:
 grub2-tools-efi          x86_64 1:2.02-90.el8.alma             baseos    469 k
ダウングレード:
 iproute                  x86_64 5.3.0-1.el8                    baseos    658 k
 libusbx                  x86_64 1.0.23-3.el8                   baseos     73 k

トランザクションの概要
================================================================================
インストール     1 パッケージ
アップグレード  36 パッケージ
ダウングレード   2 パッケージ

ダウンロードサイズの合計: 368 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/387): libusbx-1.0.23-3.el8.x86_64.rpm        433 kB/s |  73 kB     00:00
(2/387): acl-2.2.53-1.el8.x86_64.rpm            438 kB/s |  81 kB     00:00
(3/387): iproute-5.3.0-1.el8.x86_64.rpm         2.8 MB/s | 658 kB     00:00
<略>
  zlib-1.2.11-16.el8_2.x86_64

失敗しました:
  filesystem-3.8-3.el8.x86_64            filesystem-3.8-3.el8.x86_64

エラー: トランザクションが失敗しました
[root@almalinux ~]#

おや????

[root@almalinux ~]# dnf distro-sync
メタデータの期限切れの最終確認: 0:10:17 時間前の 2021年02月09日 17時08分11秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ          Arch            バージョン           リポジトリー    サイズ
================================================================================
再インストール:
 filesystem          x86_64          3.8-3.el8            baseos          1.1 M

トランザクションの概要
================================================================================

ダウンロードサイズの合計: 1.1 M
インストール済みのサイズ: 0
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
filesystem-3.8-3.el8.x86_64.rpm                 1.2 MB/s | 1.1 MB     00:00
--------------------------------------------------------------------------------
合計                                            1.2 MB/s | 1.1 MB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  scriptletの実行中: filesystem-3.8-3.el8.x86_64                            1/1
  準備             :                                                        1/1
  再インストール   : filesystem-3.8-3.el8.x86_64                            1/2
Error unpacking rpm package filesystem-3.8-3.el8.x86_64
  検証             : filesystem-3.8-3.el8.x86_64                            1/2
  検証             : filesystem-3.8-3.el8.x86_64                            2/2

失敗しました:
  filesystem-3.8-3.el8.x86_64            filesystem-3.8-3.el8.x86_64

エラー: トランザクションが失敗しました
[root@almalinux ~]#

filesystemの置き換えがうまくいってない模様。

とりあえずOracle Linuxへのコンバート時に問題となったgrub2-efi.cfgは生成されている

[root@almalinux ~]# ls -l /etc/grub2-efi.cfg
lrwxrwxrwx. 1 root root 31  1月 19 08:21 /etc/grub2-efi.cfg -> ../boot/efi/EFI/centos/grub.cfg
[root@almalinux ~]# ls -l /boot/efi/EFI/*
/boot/efi/EFI/BOOT:
合計 1568
-rwx------. 1 root root 1237503  1月 15 22:34 BOOTX64.EFI
-rwx------. 1 root root  362968  1月 15 22:34 fbx64.efi

/boot/efi/EFI/centos:
合計 5436
-rwx------. 1 root root     122  1月 15 22:34 BOOTX64.CSV
drwx------. 2 root root    4096  1月 19 08:21 fonts
-rwx------. 1 root root    6544  2月  9 16:45 grub.cfg
-rwx------. 1 root root    1024  2月  9 17:15 grubenv
-rwx------. 1 root root 1890896  1月 19 08:21 grubx64.efi
-rwx------. 1 root root 1171320  1月 15 22:34 mmx64.efi
-rwx------. 1 root root 1240144  1月 15 22:34 shimx64-almalinux.efi
-rwx------. 1 root root 1237503  1月 15 22:34 shimx64.efi
[root@almalinux ~]#

…いや、grub.cfgの作成時間が古いのでCentOS8で作成されたものなので再作成します。

[root@almalinux ~]# grub2-mkconfig -o /etc/grub2-efi.cfg
Generating grub configuration file ...
Adding boot menu entry for EFI firmware configuration
done
[root@almalinux ~]# ls -l /boot/efi/EFI/centos/grub.cfg
-rwx------. 1 root root 6544  2月  9 17:21 /boot/efi/EFI/centos/grub.cfg
[root@almalinux ~]#

「CentOS Linux … Security Violation」・・・・お??

あー、Secure Bootか

セキュアブートを無効化して電源ON

再起動後、「dnf distro-sync」を実行したところ正常に完了した。

で・・・改めてESXi7.0で仮想マシンを作る際にセキュアブート無効設定で仮想マシンを作ってからインストールを試みる。

無事起動

ChromeOSリカバリイメージを流用して汎用ChromeOSを作り出すBrunch


公式のChromeOSリカバリイメージを利用して、汎用のChromeOSイメージを作り出すBrunchというものを発見。

権利的にはかなり微妙なもの。

とりあえず試してみた。

使用できる条件

UEFIブート可能

Intel CPUの場合、第1世代Intel Coreプロセッサー(Nehalem)以降

AMD CPUの場合、Stoney Ridge世代のみ(E2-90??, A4-91??, A6-92??, A9-94??, Pro A4-4350B, Pro A6-7350B)
Ryzenは非サポート

Nvidia GPUは非サポート

手順0: Ubuntuパッケージの追加

Brunshのshell scriptで「cgpt」と「pv」を使用するため、この2つのパッケージをインストールする

osakanataro@ubuntuserver:~/cros$ sudo apt install cgpt pv
<略>
osakanataro@ubuntuserver:~/cros$

手順1: ChromeOSリカバリイメージを入手

ChromeOSリカバリイメージをGoogleのページからダウンロードする。

ただし、Google公式では一覧ページ的なものは用意されていないので、 https://cros-updates-serving.appspot.com/https://cros.tech/ でURLを調べてダウンロードする。

前者の https://cros-updates-serving.appspot.com/ の方が一覧になっていて分かりやすい。

Brunshで利用できるリカバリイメージは下記の3種類で、ハードウェアによって選択する

「rammus」

ASUS Chromebook C425, ASUS Chromebook Flip C433, ASUS Chromebook Flip C434用リカバリイメージ
 → 第4世代Intel Coreプロセッサー(Haswell)以降の機種向け

「samus」

Google Chromebook Pixel (2015) 用リカバリイメージ
 → 第3世代Intel Coreプロセッサー(Ivy Bridge)以前の機種向け

「grunt」

Acer Chromebook 315 (CB315-2H), HP Chromebook 11A G6 EE / HP Chromebook 11A G8 EE, HP Chromebook 14 db0000-db0999 / HP Chromebook 14A G5, Acer Chromebook 311 (C721), Acer Chromebook Spin 311 (R721T), Lenovo 14e Chromebook, Lenovo Chromebook S345-14, NEC Chromebook Y1 Gen2A, 100e 2nd Gen AMD, 300e 2nd Gen AMD用リカバリイメージ
 → AMD プロセッサー機種向け

ちなみに、プロダクトコードネームからだと具体的にCPUを採用しているかわかりませんが、ChromeOSハードウェア向けにカスタマイズしたcorebootを提供している「MrChromebox.tech」のSupported Devicesを見るとCPU毎に分類されていて参考になります。

さて、ダウンロードしたファイルは、zip形式なので展開します。

osakanataro@ubuntuserver:~/cros$ wget https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
`chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip' に保存中

chromeos_13421.99.0_samus_recove 100%[=========================================================>]   1.08G  9.04MB/s    時間 1m 51s

2020-12-07 00:24:12 (9.90 MB/s) - `chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip' へ保存完了 [1154643907/1154643907]

osakanataro@ubuntuserver:~/cros$ unzip chromeos_13421.99.0_samus_recovery_stable
-channel_mp-v3.bin.zip
Archive:  chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
  inflating: chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin
osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ ls -l
-rw-r--r-- 1 osakanataro osakanataro 2320468480 11月 11 23:54 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin
-rw-rw-r-- 1 osakanataro osakanataro 1154643907 12月  2 01:55 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
osakanataro@ubuntuserver:~/cros$

手順2: Brunshファイルを入手

BrunshのReleaseにアクセスして最新版のBrunshファイルを入手。「brunch_r86_k5.4_stable_20201201.tar.gz」というような感じになっている。

これをダウンロードして、展開する。

osakanataro@ubuntuserver:~/cros$ wget https://github.com/sebanc/brunch/releases/
download/r86-k5.4-stable-20201201/brunch_r86_k5.4_stable_20201201.tar.gz
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 356198827 (340M) [application/octet-stream]
`brunch_r86_k5.4_stable_20201201.tar.gz' に保存中

brunch_r86_k5.4_sta 100%[===================>] 339.70M  8.50MB/s    時間 58s

2020-12-07 09:32:44 (5.85 MB/s) - `brunch_r86_k5.4_stable_20201201.tar.gz' へ保 存完了 [356198827/356198827]

osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ ls -l
合計 4855664
-rw-rw-r-- 1 osakanataro osakanataro  356198827 12月  3 04:27 brunch_r86_k5.4_stable_20201201.tar.gz
-rwxr-xr-x 1 osakanataro osakanataro      13521 12月  2 05:17 chromeos-install.sh
-rw-r--r-- 1 osakanataro osakanataro 2320468480 11月 11 23:54 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin
-rw-rw-r-- 1 osakanataro osakanataro 1154643907 12月  2 01:55 chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin.zip
-rw-r--r-- 1 osakanataro osakanataro   33554432 12月  2 05:32 efi_legacy.img
-rw-r--r-- 1 osakanataro osakanataro   33554432 12月  2 05:32 efi_secure.img
-rw-r--r-- 1 osakanataro osakanataro 1073741824 12月  2 05:32 rootc.img
osakanataro@ubuntuserver:~/cros$

手順3: USBメモリへ書き込み

LinuxにUSBメモリを差し込んでからコマンドを実行。

直接USBメモリに書き込む以外にも「-dst ファイル名」と指定することでイメージファイルを作成することもできる。

osakanataro@ubuntuserver:~/cros$ sudo bash chromeos-install.sh -src chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin -dst chromeos.img
Creating image file
0+0 レコード入力
0+0 レコード出力
0 bytes copied, 0.000438446 s, 0.0 kB/s
WARNING: Primary GPT header is invalid
WARNING: Secondary GPT header is invalid
DE9B9ECE-0883-AA43-A8C1-CAEAEAB0E243
       start        size    part  contents
           0           1          PMBR (Boot GUID: DE9B9ECE-0883-AA43-A8C1-CAEAEAB0E243)
           1           1          Pri GPT header
           2          32          Pri GPT table
    19255304    10104776       1  Label: "STATE"
                                  Type: Linux data
                                  UUID: 0E6FAFDE-D6D7-184A-A64D-CD63CF869244
     2117638       65536       2  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: 3A09DFE5-08AB-2948-975D-24C1D96A136A
                                  Attr: priority=15 tries=15 successful=0
    10866696     8388608       3  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: DEC257F3-CB10-5F47-8D04-22E777B01FE7
     2183174       65536       4  Label: "KERN-B"
                                  Type: ChromeOS kernel
                                  UUID: 131595A8-5812-1749-B2C3-D3EFE1B20D9E
                                  Attr: priority=0 tries=15 successful=0
     2478088     8388608       5  Label: "ROOT-B"
                                  Type: ChromeOS rootfs
                                  UUID: D47CACE8-6505-5C49-8DDC-3967F2367108
       16448           1       6  Label: "KERN-C"
                                  Type: ChromeOS kernel
                                  UUID: E8025D6B-7477-2E48-8655-69E8FEF91887
                                  Attr: priority=0 tries=15 successful=0
       16456     2097152       7  Label: "ROOT-C"
                                  Type: ChromeOS rootfs
                                  UUID: C1E18F01-4178-4E4E-9726-B4E212EBF270
     2248712       32768       8  Label: "OEM"
                                  Type: Linux data
                                  UUID: 87C5B1DE-66D1-2645-84BD-1E8B0A6EB040
     2113608           1       9  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: C1D004AE-CD97-124E-864A-BFF3A72A3D6E
     2113609           1      10  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: 1EE850E8-22AC-4E45-A88A-F29C9AC25A93
          64       16384      11  Label: "RWFW"
                                  Type: ChromeOS firmware
                                  UUID: CEAA44C9-C738-7A4A-A372-B043109C1419
     2412552       65536      12  Label: "EFI-SYSTEM"
                                  Type: EFI System Partition
                                  UUID: DE9B9ECE-0883-AA43-A8C1-CAEAEAB0E243
    29360095          32          Sec GPT table
    29360127           1          Sec GPT header
Writing partition 1
8.95MiB 0:00:00 [ 119MiB/s] [<=>                                               ]
Writing partition 2
16.0MiB 0:00:00 [74.7MiB/s] [<=>                                               ]
Writing partition 3
2.00GiB 0:00:47 [43.2MiB/s] [                                            <=>   ]
Writing partition 4
16.0MiB 0:00:00 [57.2MiB/s] [<=>                                               ]
Writing partition 5
2.00GiB 0:00:49 [41.1MiB/s] [                                             <=>  ]
Writing partition 6
 512 B 0:00:00 [3.37KiB/s] [<=>                                                ]
Writing partition 7
1.00GiB 0:00:21 [47.8MiB/s] [                   <=>                            ]
Writing partition 8
16.0MiB 0:00:03 [4.38MiB/s] [  <=>                                             ]
Writing partition 9
 512 B 0:00:00 [10.5KiB/s] [<=>                                                ]
Writing partition 10
 512 B 0:00:00 [26.1KiB/s] [<=>                                                ]
Writing partition 11
8.00MiB 0:00:00 [69.4MiB/s] [<=>                                               ]
Writing partition 12
32.0MiB 0:00:00 [89.6MiB/s] [<=>                                               ]
ChromeOS disk image created.
To boot directly from this image file, add the lines between stars to either:
- A brunch usb flashdrive grub config file (then boot from usb and choose boot from disk image in the menu),
- Or your hard disk grub install if you have one (refer to you distro's online resources).
********************************************************************************
menuentry "ChromeOS (boot from disk image)" {
        rmmod tpm
        img_part=/dev/mapper/ubuntu--vg-root
        img_path=/home/osakanataro/cros/chromeos.img
        search --no-floppy --set=root --file $img_path
        loopback loop $img_path
        linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off \
                cros_secure cros_debug loop.max_part=16 img_part=$img_part img_path=$img_path \
                console= vt.global_cursor_default=0 brunch_bootsplash=default
        initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
********************************************************************************
osakanataro@ubuntuserver:~/cros$

できたchormeos.imgをUSBメモリに書き込んで完成

ノートパソコンで起動

先日手に入れたCore i5-5200Uのノートパソコンで起動してみる。

画像

このBrunch Frameworkの画面がそこそこ時間がかかる。

待つと普通のChromeBookの初期画面になった。

画像

Androidアプリも普通に動くやつになっていた。

画像
画像

上記はsamusイメージをベースにしてたけど、rammusベースにしてみたところ、起動時のgrubでkernel行に「options=alt_touchpad_config」を追加して起動しないとキーボード/タッチパッドが使用できない状態だったが、LTEも使える形になった。

おまけの記録:コマンドが足りなくて失敗した場合のログ

Ubuntu 20.04だとパッケージ「pv」と「cgpt」を追加する必要があった。

osakanataro@ubuntuserver:~/cros$ sudo bash chromeos-install.sh -src chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin -dst chromeos.img
[sudo] osakanataro のパスワード:
cgpt needs to be installed first
osakanataro@ubuntuserver:~/cros$ apt search cgpt
ソート中... 完了
全文検索... 完了
cgpt/bionic 0~R63-10032.B-3 amd64
  GPT manipulation tool with support for Chromium OS extensions

vboot-utils/bionic 0~R63-10032.B-3 amd64
  Chrome OS verified u-boot utilities

osakanataro@ubuntuserver:~/cros$ sudo apt install cgpt
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-45
  linux-hwe-5.4-headers-5.4.0-47 linux-hwe-5.4-headers-5.4.0-51
  linux-hwe-5.4-headers-5.4.0-52
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  cgpt
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
30.7 kB のアーカイブを取得する必要があります。
この操作後に追加で 77.8 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 cgpt amd64 0~R63-10032.B-3 [30.7 kB]
30.7 kB を 0秒 で取得しました (359 kB/s)
以前に未選択のパッケージ cgpt を選択しています。
(データベースを読み込んでいます ... 現在 350304 個のファイルとディレクトリがインストールされています。)
.../cgpt_0~R63-10032.B-3_amd64.deb を展開する準備をしています ...
cgpt (0~R63-10032.B-3) を展開しています...
cgpt (0~R63-10032.B-3) を設定しています ...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ sudo bash chromeos-install.sh -src chromeos_13421.99.0_samus_recovery_stable-channel_mp-v3.bin -dst chromeos.img
pv needs to be installed first
osakanataro@ubuntuserver:~/cros$
osakanataro@ubuntuserver:~/cros$ sudo apt install pv
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-hwe-5.4-headers-5.4.0-42 linux-hwe-5.4-headers-5.4.0-45
  linux-hwe-5.4-headers-5.4.0-47 linux-hwe-5.4-headers-5.4.0-51
  linux-hwe-5.4-headers-5.4.0-52
これを削除するには 'sudo apt autoremove' を利用してください。
提案パッケージ:
  doc-base
以下のパッケージが新たにインストールされます:
  pv
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
48.3 kB のアーカイブを取得する必要があります。
この操作後に追加で 123 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 pv amd64 1.6.6-1 [48.3 kB]
48.3 kB を 0秒 で取得しました (621 kB/s)
以前に未選択のパッケージ pv を選択しています。
(データベースを読み込んでいます ... 現在 350309 個のファイルとディレクトリがインストールされています。)
.../archives/pv_1.6.6-1_amd64.deb を展開する準備をしています ...
pv (1.6.6-1) を展開しています...
pv (1.6.6-1) を設定しています ...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
osakanataro@ubuntuserver:~/cros$

MousePro MPro NB390H2-SSDの修理とWindowsインストール、そしてLTE内蔵改造


秋葉原のPCショップ EYESにてMousePro MPro NB390H2-SSDが5480円で売っていた。

画像

電源コネクタ破損ということでたぶん動くだろうと購入。

中を開けてみると、まぁ見事な壊れよう(なお、開ける時は左側の電源コネクタがある方から開けるといい。右側だとオーディオ端子とVGA端子の出っ張りがあって邪魔をするから)

画像

19V電源だけど、東芝/富士通系19Vとは大きさが微妙に違い刺さらないサイズなので、おそらく気がつかないアホが無理矢理押し込んで壊したんだと思われる。

画像

元のコネクタはこんな感じだったらしいけど、どれだけの力をかければ壊せるのか・・・

電源コネクタ部分は別基板になっていたので取り外して観察してみる

画像
画像
画像

基板に書かれていた「W330C」という文字列が機種名っぽかったので検索したところ、Clevo社のW330SU2というのがOEM元モデルのようである。

最初はコネクタを取り外して、東芝/富士通系と同じものに置き換えるつもりで部品も用意したんだけど、手持ちの半田ごてだとうまく取り外せなかったので、ケーブル伸ばして無理矢理配線でごまかした。

画像

Windows 10はすんなり入ったものの「SMバスコントローラ」が未認識。

画像

Clevo社のDownloadページから「Model:W330SU2」の「Driver:ALL」で表示させた中から「Chipset driver 10.0.17 for Win8.1 64bit」をダウンロードしてセットアップを実行してインストールする。

また、キーボード上の青いキー操作の内、音量操作などは動作しますが、液晶の輝度操作が動きません。こちらは「Hotkey driver 3.03.12 for Win8.1 64bit」をインストールすることで使えるようになるのでこちらもダウンロード/インストールします。

ちゃんと動くようになったので改造検討

WiFiの横にある「H=3 M」は、たぶんMキーという意味で、近くに「SSD」という記載も見えるのでNVMe SSDも行けるM.2 2280っぽい。

画像

もう一つの「H=4 B」はBキーという表記で、「3G」という表記。そして、そこに置かれている未接続のケーブル2本

ケーブルの先を確認すると「LTE」と書かれたアンテナっぽい基板に接続されている。

というわけで、たまたまジャンク500円で購入していたLTEカード(EM7330)をさしてアンテナケーブルを接続

どこかにSIMスロットがあるはず、と探すとすぐ近くに発見。

こちらバッテリーを取り外した時に、バッテリーコネクタの隣になります。

電源を入れると普通にWindows10上で認識し、使える様になりました。

画像

ESXi上のNutanix CE AHVをアップデートした


ESXi上にNutanix CE AHVをインストールした」でインストールしたNutanix CE環境をアップデートしてみた。

トラブルポイントのまとめ

なんとなく手順を進めていったらいくつかキツイ問題が発生してアップデートプロセスが止まったりした。今回発生した問題は下記3点

・AHVのrootパーテーション容量が足らない
・AHV内の標準仮想マシン設定にあるPC Typeが初期値に戻るので既存の仮想マシンが起動しない
・AHV内のCVM仮想マシン設定にあるPC Typeがpc-i440fx-rhel7.3.0になり起動しない
・CVM仮想マシンのメモリが12GBだとサービスが起動しない

なお、調査の際に参考になったページ「Nutanix CE: Cannot Start VM」「Guest VM Running in Nested Nutanix CE on VMware vSphere Won’t Boot

CVM仮想マシン上のサービスが起動しないあたりは「PRISM SERVICES HAVE NOT STARTED YET. PLEASE TRY AGAIN LATER

実際に実施した手順はもっといろいろあったが、完了後に、たぶんこの順序で実施すれば大丈夫だったんだろう、というものを下記に手順として残す。

手順1 アップデータ入手

Download Nutanix CE, Docs, and Guides」から下記3ファイルをダウンロード。

・「Metadata for AOS, AHV upgrades and PC deployment」のce-2019.11.22-metadata.zipを展開してjsonファイルを取りだしておく
・「AOS Upgrade」(ce-2019.11.22-upgrade.tar.gzのまま)
・「AHV Upgrade」(host-bundle-el7.nutanix.20191030.415.tar.gzのまま)

手順2 CVM仮想マシンの自動起動を止める

この後、何回かNutanix CE仮想マシンを再起動する。その際にCVM仮想マシンの起動が完了するのを待っていると時間がかかるので、自動起動を止める。

「virsh list –all」でCVM仮想マシンのIDを確認して、「virsh autostart <ID> –disable」と実行すると自動起動が止まる。

手順3 Nutanix CE仮想マシンのディスク拡大

AHVのrootパーテーションの空き容量が足らない為アップデートが失敗する。

このため、vSphere側でNutanix CE仮想マシンのディスクサイズを拡大する。

標準の「ハードディスク1」が約7GBとなっている。

これを、12GBに増やす。

変更後、Nutanix CE仮想マシンを再起動する。

再起動後、vSphereのコンソールを開き「root」ユーザでログインする。デフォルトパスワードは「nutanix/4u」

ログイン後、現在のディスク使用状況と、システムディスクである/dev/sdaのパーテーション構成を確認する。

「df -h」と「fdisk -l /dev/sda」を実行する。

パーテーション変更は「fdisk /dev/sda」を実行して行う。

既存のパーテーションを「d」で消して、新しいパーテーションを作成しなおす、という形になる。

bootフラグのセットも忘れずに

最後は「w」で書き込みを実行する。

再起動しないと新しいパーテーションで認識してくれないので、再度Nutanix CE仮想マシンを再起動する。

再起動後、再度「fdisk -l /dev/sda」と「df -h」を実行してみると、fdiskの方は新しいディスクサイズで認識しているが、rootパーテーションはまだ古い容量のままとなっている。

「resize2fs /dev/sda1」を実行してファイルシステムの拡張を行い、新しいディスク容量が反映される。

手順4 CVM仮想マシンの自動起動を戻す

AHV内のCVM仮想マシンの自動起動設定を戻し、自動起動するようにする。

「virsh list –all」でCVM仮想マシンのNameを確認して、「virsh autostart <Name>」を実行する。(起動していない場合はIdが割り当てられていないので、Nameで指定する必要がある)

自動自動設定ができたかどうかは「/etc/libvirt/qemu/autostart/」にXMLファイルがあるかで確認する。

「virsh start <Name>」でCVM仮想マシンを起動するか、rebootでNutanix CE仮想マシンを再起動する。

手順5 AOSアップデート

Nutanixにログインして「設定」の「ソフトウェアアップグレード」にある「AOS」を開く。

「AOS base softwareバイナリをアップロード」のリンクをクリック

AOS BASE SOFTWAREメタデータファイルは「ce-2019.11.22-upgrade-metadata.json」
AOS BASE SOFTWAREバイナリファイルは「ce-2019.11.22-upgrade.tar.gz」
を指定する。

「今すぐアップロード」をクリックする。

上記の様になったらアップロード成功。

「Upgrade Now」を選択してアップデートを開始する。

アップグレードが進んでいきます。

ちなみに「Nothing To Do?」は下記の2048ゲームが表示されます。

途中、CVM仮想マシンの再起動などがあり、完了します。

手順6 Hypervisorのアップデート

Nutanixの「設定」の「ソフトウェアアップグレード」にある「Hypervisor」を選択。

「upload a Hypervisor Binary」をクリックし、下記の選択をして「今すぐアップロード」する。

HYPERVISOR メタデータファイル「host-bundle-el7.nutanix.20191030.415-metadata.json」
HYPERVISOR バイナリファイル「host-bundle-el7.nutanix.20191030.415.tar.gz」

続いて、「Upgrade Now」を実施する。

で、アップグレードが進んでいきます。

たぶん、下記の様な「71%」から30分以上待っても進まないと思います。

いまの状態はHypervisorはアップデートできたものの、その上のCVM仮想マシンが起動していない状態となります。

手順7 AHV上の仮想マシンの標準設定の修正

vSphere上でNutanix CEを稼働させた場合、標準設定の状態ではNutanix上で作成した仮想マシンが起動しません。

起動させるためには、「/var/cache/libvirt/qemu/capabilities/3c76bc41d59c0c7314b1ae8e63f4f765d2cf16abaeea081b3ca1f5d8732f7bb1.xml」 のalias=’pc’をpc-i440fx-rhel7.2.0の行に付け直します。

該当ファイルは下記の様な形になっていて、「alias=’pc’」がpc-i440fx-rhel7.3.0の行についています。

これを「pc-i440fx-rhel7.2.0」の行に「alias=’pc’」設定を移動させます。

手順としては、pc-i440fx-rhel7.3.0の行をpc-i440fx-rhel7.2.0書き換えて、既存のpc-i440fx-rhel7.2.0設定を削除するのが簡単でしょう。

画像

手順8 AHV上のCVM仮想マシン設定の修正

CVM仮想マシンの仮想マシンタイプ設定が「pc-i440fx-rhel7.3.0」に設定されていました。

設定の確認は「virsh dumpxml <name>|less」で行います。
設定変更は「virsh edit <Name>」となります。

viコマンドでxmlファイルが開かれますので、「pc-i440fx-rhel7.3.0」を「pc-i440fx-rhel7.2.0」に書き換えて保存します。

また、「<memory unit=’KiB’>~</memory>」のメモリ容量を増加させます。Nutanix CE標準だと最低28GBとなっているようです。

参考としてGUIから設定できるCVMに割り当てられる容量を以下に占めます。

なお、今回はxml書き換えで約26GBと設定しています。

この後、CVM仮想マシンを再起動します

面倒ならNutanix CE仮想マシンごとrebootします。

手順9 終了

lvglのALIGN設定を確認した


TTGO T-Watch-2020で画面にいろいろ要素を足してみる時に設定するLV_ALIGN_IN_~とかLV_ALIGN_OUT_~の違いがよくわからないのでドキュメントサイトを検索してみたけど、資料が無かった…

2020/09/08 公式に追加された「Base object (lv_obj) Alignment

仕方が無いので実際に表示をして確認してみた。

縦方向: y もしくは height
横方向: x もしくは width

文字列が長くなるので「LV_ALIGN_IN_BOTTOM_RIGHT」だったら「IN_BOTTOM_RIGHT」というように「LV_ALIGN_」の部分を省略している。