下準備

まず Bootable USB を準備する

下準備だけど、 dd コマンドなり、rufus 形で os を入れた usb を作る。できたら、挿してその USB からブートする。

インストール

Desktop

framework PC で archlinux を使う。

<2023-08-31 Thu> デスクトップにも入れたので、ところどころ不要な設定があった。(特に、wifi の設定の箇所)

  • archi インストールの前に

    ここから基本的に archlinux 公式の Installation guide を参考にしていけば大きな問題にぶつからないはず。基本的に読む側の取扱説明書読解能力だと思います。あそこに書かれていなかったり、見落としがちなところだけメモしておくスタンス。

  • keyboard layout

    キーボードは英語レイアウトなので飛ばします。

  • ネットに接続する

    デスクトップで有線の場合は設定不要だった。

    iwctl コマンドで wifi ネットワークに接続する。大学のパスワードなしの公共 wifi があるので、それにとりあえず接続する。 iwctl でインタラクティブに下記実行

    [iwd] station wlan0 connect MIT\ GUEST
    

    あとは ping するなり、確認出来れば安心。

  • ディスクのパーティション

    uefi なので三つ欲しいところ、boot 用、swap 用とメインのディレクトリ、 fdisk -l で目標の記憶領域は /dev/nvme0n1 であることを確認してして、~fdisk /dev/nvme0n1~ でパーティションの設定 d で今までのパーティションをを全部消す。(どれって聞かれるから答える)

    g で GPT パーティションテーブルを作成、 n で パーティションを作っていく、パーティションの番号はそのまま 1,2,3 と指定していけばよくて、パーティションの開始位置もそのまま言われるがままに、終わりは最初のブート領域は +550M (開始位置から相対的に 550Mb と言う意味)、swap は +2G 、最後のは使い切る意味でそのまま Enter。途中なんか signature あるけど消す?みたいなこと場合は Yes する。このままだと、全部 Linux File System になっているので、 t で変更する、最初のパーティションは EFI System だから 1 で、次の swap 領域(2)は Linux swap なので 19

    最後にこの設定した情報(テーブル)を書き込むのに w 実行

    それで fdisk が終了する。設定の通りにファイルシステムを作る。

    最初は mkfs.fat -F 32 /dev/efi/partition 次のは mkswap /dev/swap/partittion 最後のメイン記憶容量は mkfs.ext4 /dev/nvme0n1p3

    swapon /dev/swap/partition でスワップを実際に使う。

    partition size type format command
    efi +550M 1 mkfs.fat -F32 /dev/xxx
    swap +2G 19 mkswap /dev/yyy && swapon /dev/yyy
    main - (20) mkfs.ext4 /dev/zzz

    これ間違やすい。0 から始まったり、1からだったりで。

  • 主要領域をマウント、いよいよインストール
    mount /dev/zzz /mnt
    mount --mkdir /dev/xxx /mnt/boot
    pacstrap /mnt base linux linux-firmware
    

    これがうまくいかない時がある(USB が古い)

    pacman -Sy archlinux-keyring
    

    で最新にする

    色々設定するのでお好みのテキストエディターもインストールしておく、もちろん pacman -S neovim

  • ローカリゼーション

    /etc/locale.gen ファイルの英語と日本語の UTF-8 をコメントアウトして、 locale-gen を実行、LANG は英語

    Initramfs は設定する必要なかった。

  • ユーザーを作っておく

    passwdroot のパスワードを設定しておく、あと自分のユーザーも設定しておいた方がよい。( root 使い続けるのはおすすめしない、設定間違った時に、治しにくい)

    この時、 pacman -S sudo で sudo 機能をインストールする必要あり。

    EDITOR=nvim visudo で最後に近い部分で wheel グループを sudo 権限持たせるための行をコメントアウトする。

    %wheel ALL=(ALL) ALL
    

    じぶんユーザーをつくっておく。 useradd -m yasushiusermod -aG wheel,audio,optical,storage,disk,input,video yasushi 諸々権限を追加しておく。

    他にどんなのが気になったら、archilinux のユーザーグループ wiki を調べると出てくる。 (https://wiki.archlinux.org/title/Users_and_groups#Pre-systemd_groups)

  • Bootloader

    普通に grub を入れる

    pacman -S grub efibootmgr os-prober mtools dosfstools

    一番のパーティションを/boot 下にマウントする

    mkdir /boot/EFI
    # mount /dev/efi/partition /boot/EFI # id already did this
    

    grub-install する。

    grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

    grub-mkconfig も忘れないように。

    grub-mkconfg -o /boot/grub/grub.cfg

    これで、reboot してもういいよな、って感じで Installation guide は終るのですが、流石にユーザーとしてログインして、ネットに接続できないと意味がないので、 iwddhcpcd をインストールして、これらは起動時に起動するように、 systemctl で enable する。これで、reboot して、実際にさっき作ったユーザーでログインできるか試す。

    pacman -S iwd dhcpcd
    systemctl enable iwd
    systemctl enable dhcpcd
    

    デスクトップは、

    pacman -S networkmanager
    systemctl enable NetworkManager # うろ覚え、要確認
    

インストールできたかしら?

ここで、何かうまくいかなかったら、また USB から起動して、chroot すればいい。ログインして入ってみる。引き続き色々設定するのに iwctl で wifi に接続する。wifi 設定した後に、もう一度再起動する必要があるかも。

ここから最短で色々設定するのに、とりあえず dropbox に接続した方がいいので、長い url 入れないといけなくてちょっとめんどくさいんだけど、dropbox を入れて接続する。ただし、dropbox は aur(コミュニティの人たちがソフトウェアを使えるように登録しておくところ、公式と別)なので、aur からインストールできる、 yay を入れる。 yay のために、git と go と base-devel が必要なので、

pacman -S git go base-devel

する。

yay のコードを git clone してビルドしてようやく yay が使えるようになる

git clone https://aur.archilinux.org/yay.git
cd yay
makepkg -si

これ以降、 yay XXX で、aur 上のソフトをインストールすることができる。

<2023-08-31 Thu> これ以降はデスクトップでは設定せず

もともとのやりたかった yay dropbox で Dropbox が入る 。dropbox を起動しようすると、リンクせよと、長い url を伝えてくるので、携帯で、それを入力してログインする。同期するまで少し待つ。 dropbox-cli もあるといいかも?

と言うのも酒井は、github の秘密鍵を drobbox に保存しているので、(本当にいいことなのかは謎だけど)これ以降諸々の設定ファイルがこれでアクセスできる。

この時点でもう結構設定はできたも同然で、 自分の config レポジトリを clone して Makefile の通り。

git clone git@github.com:yasushisakai/config
cd config
make setup

なんか怒られたら、 make clean して、再度 make setup を試してみると良い。

一気に GUI 整備

そこから、怒涛の GUI 関係インストール

pacman -S mesa xf86_video_intel xorg-server xorg-xinit xorg-xinput bspwn sxhkb alacritty firefox nitrogen picom
yay ulauncher
yay polybar
yay ttf-hackgen-nerd
yay sxhkd

でログインしなおせば、GUI 化完了。firefox と alacritty(ターミナルエミュレーター) が起動すればそこからいくらでもできると思う。

メール環境

Mail へ移動。

でも、ヒマラヤの方がいい気がする。

Emacs 日本語入力

linux 環境下では、無理だと思いかけたけど、そんなことはなく、

xlsfonts *normal*

で、いっぱいでてくるのを確認するのと、 LC_CTYPE=ja_JP.UTF-8 UTF-8 になっていれば IME はつかえる。

wifi の設定

デスクトップ(有線環境)では設定いらなかった。

MIT SECURE に接続したくて、試行錯誤してみたけど、案外簡単だった。 https://iwd.wiki.kernel.org/networkconfigurationsettings

/var/lib/iwd/MIT\ SECURE.8021x

という設定ファイルをつくって、内容は下記

[Security]

EAP-Method=PEAP

EAP-PEAP-Phase2-Method=MSCHAPV2
EAP-PEAP-Phase2-Identity=yasushis
EAP-PEAP-Phase2-Password=<PASSWORD>

この世で一番安全な方法でもなんでもないけど、とりあえず、動く。

  • wifi が落ちたっきりになる。
    iwctl
    # station wlan0 connect MIT\ SECURE
    
    ip link set wlan0 up
    
    rfkill unblock wlan0
    

Alacritty を使っていると、’unknown terminal’ と出る。

ホスト側で下記を実行すると直る。

curl -sSL https://raw.githubusercontent.com/alacritty/alacritty/master/extra/alacritty.info | tic -x -

Hibernation 後にマウスの挙動がおかしい

バッテリーを温存するのに、deep sleepにしたのだが、起きあがると、マウスの挙動がおかしくなっていた。すごい、センシティブだし、ジェスチャーがきかない。

https://community.frame.work/t/ubuntu-21-04-trackpad-issues-when-waking-from-deep-sleep/10151

どうやら BIOS 側の設定で、マウスが見つからなかった時に、PS/2 方式のマウスに fallback するという機能が働いているらしく、それを切ればいいということらしい。

Date: 2021-10-24 18:09