# iwctl --passphrase <パスフレーズ> station wlan0 connect <SSID>
でWiFiつながった。すごい!! 実家サーバとしてイーサネットしかつながってなかったこの子のWiFiアダプタ活躍するのたぶん初めて
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
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
:
#KEYMAP=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
Archちゃんまずネットワークにつながなくちゃいけない感じになってきて
https://wiki.archlinux.org/title/iwd
を眺めながら
# iwctrl --passphrase パスフレーズ wlan0 connect SSID
-bash: iwctl: command not found
ってインストーラには入れてくれてたのにwww
インストーラから起動して、
# 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
インストーラから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
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 わーい! :raised-hands:
@hnb いえーい
@zundan ダジャレを検出しました(検出ワード: LAN)
@zundan ダジャレを検出しました(検出ワード: KEYMAP)
@zundan@mastodon.zunda.ninja
こんな感じでなんとか……cat | sed > modified.txt; cp modified.txt /etc/hogehoge
@tacumi ありがとうございます。現状Aの横がCaps Lockであんまり複雑なコマンドラインをタイプしたくないんですよねーw