【Plamo6.1】やっと、無線lanの設定 /etc/rc.d/rc.inet1 の意味がわかりました

【Plamo6.1】やっと、無線lanの設定 /etc/rc.d/rc.inet1 の意味がわかりました

Plamo5.2 の時に、無線lan 接続方法が分からず、結局、/etc/rc.d/rc.inet1 の if文をコメントアウトして接続していたのですが、あらためて調べてやっと理解できました。

Plamo5.2 の記事はこちらです。

ausnichts.hatenablog.com

上の記事中の rc.inet1 の設定の流れの

  1. /proc/cmdline に<wlan>があれば設定開始、なければ有線でつなぐ

ここが間違っています。スクリプトはこうなっています。

if [ -n "`cat /proc/cmdline | grep "\<wlan\>"`" ] ; then  
  ifconfig wlan0 up  
  get_iwlist ""  
  echo "[Access Points]"  
  echo "$iwlist" | nkf -e  
  (略)

このスクリプトの \<\> をエスケープだと思い、/boot/grub/grub.cfg<wlan> と追加していたのですが、grep の manページをよく読んでみますと、

バックスラッシュ付きの特別な表現
シンボル \< とシンボル \> は、それぞれ単語の先頭と末尾の空文字列にマッチするメタ文字です。

とあります。

つまり、前後に文字のない wlan があれば無線lan の接続を開始するということになりますので、/boot/grub/grub.cfg の起動パラメータの末尾に wlan を追記しておけばいいことになります。

(2017/6/20) grub.cfg を直接編集してはいけません。こちらをご覧ください。

linux   /boot/vmlinuz-4.3.5-plamo64 root=/dev/sda2 ro  vga16 unicon=eucjp vt.default_utf8=0 panic_output=7 wlan

これで rc.inet1 の条件式の中に入ることができ、続いて、

  1. アクセスポイントをスキャンして表示
  2. /etc/wpa_supplicant.conf にプリセットされた ssid があれば表示して入力を10秒待つ
  3. ssid が入力されたら、パスフレーズ入力を待つ
  4. ssid の保存を確認、Yes なら /etc/wpa_supplicant.conf に保存
  5. wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0 でアクセスポイントに接続
  6. dhclient wlan0

となリ、無線lan での接続完了です。