mastodon.zunda.ninja is one of the many independent Mastodon servers you can use to participate in the fediverse.
Zundon is a single user instance as home of @zundan as well as a test bed for changes of the code.

Administered by:

Server stats:

1
active users

Arch Linux のインストーラさん、grub?からカーネルオプションにnomodesetを追加したらGatewayのネットブックLT1040uで画面見えた!

# iwctl --passphrase <パスフレーズ> station wlan0 connect <SSID>
でWiFiつながった。すごい!! 実家サーバとしてイーサネットしかつながってなかったこの子のWiFiアダプタ活躍するのたぶん初めて 🎉

zunda

https://wiki.archlinux.org/title/Installation_guide に従ってやっこ!!

> 1.6 Verify the boot mode
/sys/firmware/efi が無い。古い子だし。

> 1.7 Connect to the internet
ping archlinux.orgお返事くれるんだ。てかIPv6でお話ししてて未来感w

wiki.archlinux.orgInstallation guide - ArchWiki

mkfsとmkswapを手打ち久しぶりだなあ!!

# pacstrap -K /mnt base linux linux-firmware
でgpg鍵対から作るのナウでヤングだー

> 3.4 Localization
/etc/locale.gen を編集するエディタがみあたらんのじゃがw echoからのリダイレクトで代用しよう。

ネットワークとブートローダのインストール手順はぱっと見みつけられなかった。それ以外の手順は終えたはず。とりあえずリブートしてみよう。

error: unknown filesystem.
Entering rescue mode...
grub rescue>

とりあえず前回Ubuntu Serverを入れた時のgrubが起きてきたのかな?やっぱりインストーラからchrootしてブートローダを入れるべきみたいだ。

インストーラを起動してwlan0をつないでarch-chrootして

# pacman -S grub
# grub-install /dev/sda
# exit
# reboot

grubが起動してきたー!! うれしー!!

set root=(hd0,msdos1)
linux /boot/vmlinuz-linux root=/dev/sda0 nosetmode
boot

うーん。ルートパーティションを見つけられない。たのしい!!!

そういえはinitramfsつくってたなあ…

set root=(hd0,msdos1)
linux /boot/vmlinuz-linux nosetmode
initrd /boot/initramfs-linux.img
boot

たぶんブートした!! 画面まっくろだけどw

タイポタイポ!!

grub> set root=(hd0,msdos1)
grub> linux /boot/vmlinuz-linux root=/dev/sda0 nomodeset
grub> initrd /boot/initramfs-linux.img
grub> boot
:
Waiting 10 seconds for device /dev/sda0 ...
:
ERROR: device '/dev/sda0' not found. Skipping fsck.
:
[rootfs ~]# ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4

1オリジンなんだw

grub> set root=(hd0,msdos1)
grub> linux /boot/vmlinuz-linux root=/dev/sda1 nomodeset
grub> initrd /boot/initramfs-linux.img
grub> boot

やったあ!!

rootでログインしてgrub.cfgをつくる。
https://wiki.archlinux.org/title/GRUB#Generated_grub.cfg

# grub-mkconfig -o /boot/grub/grub.cfg
でなんだか複雑なファイルができてきたな。フレームバッファ関係もなんだかケアしてもらってるふいんき。これでブートできるんかな?

# sync;sync;reboot

できた!nomodesetより解像度が上がった気がする!

長年に渡るサーバ業で電池は死んでるのではずした。少しだけ軽量化。

Caps LockをCtrlにするには/usr/share/kbd/key maps/i386/qwerty/us.map.gzを編集してどこかに置いておいてなにかに読ませるのかな…

https://wiki.archlinux.org/title/Linux_console/Keyboard_configuration を参考にそろそろAの隣りをCtrlにしよう。

# localectrl status
System Locale: LANG=en_US.UTF-8
VC Keymap: (unset)
X11 Layout: (unset)
# cat /etc/vconsole.conf
:
=us

ふむふむ。

# mkdir -p /usr/local/share/kbd/keymaps
# echo 'keycode 58 = Control' > /usr/local/share/kbd/keymaps/nocaps.map
# loadkeys !$

これでAの横がCtrlになった…と思ったらCaps Lockが、えーと、 ^Cが?

loadkeysしてデフォルトだったus配列も消えちゃった感じなのかな?とりあえずCtrl-Alt-Delしてやりなおそう。

# loadkeys /usr/share/kbd/keymaps/i386/qwerty/us.map.gz
# loadkeys /usr/local/share/kbd/keymaps/nocaps.map

したら期待どおりのキーボードになった気がする。や、なってない。時間がたつとわけのわからない動作になるなw

us.map.gzを全部コピーして編集することにしよう。というわけで次回はwlan0の設定とvimのインストールとなりまるw

wiki.archlinux.orgLinux console/Keyboard configuration - ArchWiki

Archちゃんまずネットワークにつながなくちゃいけない感じになってきて
https://wiki.archlinux.org/title/iwd
を眺めながら

# iwctrl --passphrase パスフレーズ wlan0 connect SSID
-bash: iwctl: command not found

ってインストーラには入れてくれてたのにwww

wiki.archlinux.orgiwd - ArchWiki

インストーラから起動して、

# iwctl --passphrase <パスフレーズ> station wlan0 connect <SSID>
# mount /dev/sda1 /mnt
# swapon /dev/sda2
# arch-chroot /mnt

これで無線LANがつながった状態でインストール先のファイルシステムにパッケージを入れられるはず

# pacman -S iwd

vimは何だか404でインストールできないな…

これでchrootからexitしてpoweroffしてインストール先で起動し、

# iwctl --passphrase <パスフレーズ> station wlan0 connect <SSID>

でつながったのかな?/var/lib/iwdにファイルが増えている。このSSIDの設定ファイルを確認すると

[Settings]
AutoConnect=true

が無いので自動的には接続しないんだな。

# iwctl station wlan0 connect <SSID>

でつながる(IPv6だけだ!!)

vimを入れるにはミラーを更新する?
https://bbs.archlinux.org/viewtopic.php?id=138155

# pacman -Syy

だけでは解消されない。IPv4でもつながないといけない感じかしら。

エディタを入れるためには設定ファイルをいじりたいけど設定ファイルを入れるためにはエディタを入れないといけない状態になりましたw

bbs.archlinux.org[SOLVED] how to install vim / Newbie Corner / Arch Linux Forums

インストーラからiwctl connectするとIPv4アドレスももらえる。/etc/iwには何もないのだけれど何かがiwctlの動作を変えてるんだなあ。arch-chrootして

# pacman -Syy
# pacman -S vim

はいったー!!

vimをインストールできたのでキーマップの設定に戻ります。

# cd /usr/local/share/kbd/keymaps
# zcat /usr/share/kbd/keymaps/i386/qwerty/us.map.gz > us-nocaps.map
# vim us-nocaps.map

kaycode 58 = Caps_Lock

の行を、

kaycode 58 = Control

に変更して、

# loadkeys /usr/local/share/kbd/keymaps/us-nocaps.map

でCaps LockをCtrlにすることができたようだ。/etc/vconsole.confで

KEYMAP=/usr/local/share/kbd/keymaps/us-nocaps

にしてリブート。期待どおりのキーマップになりました🎉

キーボードが快適になったので https://wiki.archlinux.org/title/iwd を参考に起動時に家のWiFiにつながるようにしてみます。

/var/lib/iwd/<SSID>.psk

を編集して、

[Settings]
AutoConnect=true

を追加、リブート。これだけではWiFiには接続しない。

/etc/iwd/main.confを下記の内容で作ってリブートしてみる。

[Network]
EnableIPv6=true
EnableIPv4=true

これでも繋がらないねえ。ip addrでwlan0があることは確かめられるけれどIPアドレスはもらっていない。

[General]
EnableNetworkConfiguration=true

も追加してみよう。

リブートしても自動的に接続をしてくれるわけではない。

# iwctl station wlan0 connect <SSID>

で接続できてIPv4アドレスとIPv6アドレスの両方をもらえるようにはなった。ルータのIPv4アドレスへのpingへの返事はもらえるけどIPv6の疎通はどうやって確認するんだw

wiki.archlinux.orgiwd - ArchWiki

syslogを確認してみたいからlessを入れてみよう。

# pacman -S less

Could not resolve hostエラーがたっぷりわね…。IPv6側がうまくつながっていないのかも。

Arch Linuxのインストーラの最初のパーティションの/arch/x86_64/airootfs.sfsがインストーラのルートファイスシステムになるのかしら。

$ sudo mount -o ro -t squashfs /tmp/airootfs.sfs /mnt
$ ls /mnt
bin dev home lib64 opt root sbin sys usr version
boot etc lib mnt proc run srv tmp var

それっぽいね。

$ sudo find /mnt -iname '*iwd*' | grep -v /doc/ | grep -v /man/
/mnt/etc/systemd/system/multi-user.target.wants/iwd.service
:
/mnt/usr/lib/systemd/network/80-iwd.link
/mnt/usr/lib/systemd/system/iwd.service
/mnt/usr/share/dbus-1/system-services/net.connman.iwd.service
/mnt/usr/share/dbus-1/system.d/iwd-dbus.conf
/mnt/var/lib/pacman/local/iwd-2.12-1

インストーラの環境にはiwdだけではなくdbusも入ってるみたい。iwdの設定ファイルは

$ cat /mnt/etc/iwd/main.conf
cat: /mnt/etc/iwd/main.conf: No such file or directory

無いじゃんw

$ sudo sh -c 'find /mnt/etc -type f | grep -i network'

して眺めると、/etc/systemd/network/20-wlan.network あたりが怪しいのかな?

[Match]
Name=wl*

[Link]
RequiredForOnline=routable

[Network]
DHCP=yes
MulticastDNS=yes

[DHCPv4]
RouteMetric=600

[IPv6AcceptRA]
RouteMetric=600

インストーラで起動して

# mount /dev/sda1 /mnt
# cp -p /etc/systemd/network/20-wlan.network /mntetc/systemd/network/

インストール先に再起動して

# iwctl station wlan0 connect bon
No matching method found
Failed to retrieve IWD dbus objevts, quitting...

何だか警告は出るけれど、

# ip addr

でwlan0にIPv4アドレスと2つのIPv6アドレスが登録されている。ルータへのpingは通る。家サーバのIPv6アドレスへのpingは通る(IPv6アドレスは目で見てタイプできるものなんだ!!)

curlは入っているが例えばzunda.ninjaを索くことはできない。/etc/resolv.confの中身はからっぽ。

nameserver 8.8.8.8

と追記すると索くことができるようになる。

次はDHCPをもらった時にDNSを設定することからわね。

@zundan ダジャレを検出しました(検出ワード: LAN)

@zundan ダジャレを検出しました(検出ワード: KEYMAP)

@zundan@mastodon.zunda.ninja
こんな感じでなんとか……
cat | sed > modified.txt; cp modified.txt /etc/hogehoge

@tacumi ありがとうございます。現状Aの横がCaps Lockであんまり複雑なコマンドラインをタイプしたくないんですよねーw