下準備
まず Bootable USB を準備する
下準備だけど、 dd
コマンドなり、rufus 形で os を入れた usb を作る。できたら、挿してその USB からブートする。
インストール
Desktop
framework PC で archlinux を使う。
デスクトップにも入れたので、ところどころ不要な設定があった。(特に、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 は設定する必要なかった。
- ユーザーを作っておく
passwd
でroot
のパスワードを設定しておく、あと自分のユーザーも設定しておいた方がよい。(root
使い続けるのはおすすめしない、設定間違った時に、治しにくい)この時、
pacman -S sudo
で sudo 機能をインストールする必要あり。EDITOR=nvim visudo
で最後に近い部分で wheel グループを sudo 権限持たせるための行をコメントアウトする。%wheel ALL=(ALL) ALL
じぶんユーザーをつくっておく。
useradd -m yasushi
、usermod -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 は終るのですが、流石にユーザーとしてログインして、ネットに接続できないと意味がないので、
iwd
とdhcpcd
をインストールして、これらは起動時に起動するように、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 上のソフトをインストールすることができる。
これ以降はデスクトップでは設定せず
もともとのやりたかった 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>
この世で一番安全な方法でもなんでもないけど、とりあえず、動く。
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 するという機能が働いているらしく、それを切ればいいということらしい。