blob: 71bc5ff5a47029fb633365a6a1a0564de1584386 (
plain) (
tree)
|
|
############################################
### README DRACUT MODUL FOR WLAN SUPPORT ###
############################################
SHORT LIST OF FILES
=============
/hooks
/hooks/parse-wlan-kernel-command-line-parameter.sh
/hooks/start_wlan.sh
/hooks/prepare-newroot.sh
/services
/services/dhcp.service
/services/wpa_supplicant.service
/udev
/udev/80-net-wlan.rules
/binaries
/binaries/systemd-preserve-process-marker
/binaries/dhcpcd
/scripts
/scripts/dhcpcd-hooks
/scripts/dhcpcd-hooks/20-resolv.conf
/scripts/dhcpcd-hooks/10-wpa_supplicant
/scripts/dhcpcd-run-hooks
/certs
/certs/Deutsche_Telekom_Root_CA_2.pem
/debug
/debug/services
/debug/services/debug-shell.service
/debug/binaries
/debug/binaries/busybox.tar
/debug/hooks
/debug/hooks/install_busybox.sh
/debug/scripts
/debug/scripts/restart_wpa.sh
/module-setup.sh
/chroot
WIFI DRIVER AND CHIP
====================
this module was built with the iwlwifi Linux kernel driver and tested with Intel Corporation Centrino Wireless-N 100
BUILDING THE INITRAMFS
======================
./build-initramfs.sh -s -d -p initramfs-wlan - --add "wlan crypt"
KERNEL COMMAND LINE EXAMPLE FOR EDUROAM
=======================================
../vmlinuz-centos-old slxsrv=132.230.8.90 slxbase=slx/cos7/ rd.shell rd.break=switch-root ssid=eduroam user=testoslx@hs-offenburg.de pw=password123
SEQUENCE
========
----------------------- cmdline
/ |
/ |
parse the command line |
v
----------------------- udev
/ |
/ |
set the interface name |
v
pre-mount ------------------------
| \
| \
| ------- start wlan -------
v / \
---------------------- pre-pivot / \
/ set link up start dhcpcd.service ------
/ \
prepare newroot \
start wpa_supplicant.service
HOOKS
=====
cmdline
-------
/hooks/parse-wlan-kernel-command-line-parameter.sh
search the command line for 'ssid=' and 'pw=' and generates the wpa_supplicant configuration file /etc/wpa_supplicant.conf If you connect to eduroam you also need 'user='. It is important for dhcpcd that the config file includes the path to the ctrl_interface.
pre-mount
---------
/hooks/start_wlan.sh
this script sets up the wlan interface and starts the dhcp.service. The dhcp.service runs the dhcp client dhcpcd which starts the wpa_supplicant.service if no wpa_supplicant already running. The script is waiting until its possible to ping the slxsrv from the command line.
pre-pivot
---------
/hooks/prepare-newroot.sh
copy files to the new system and disable NetworkManager
SERVICES
========
/services/dhcp.service
this service manages the dhcp client dhcpcd. It will be invoked by the start_wlan.sh script while pre-mount.
/services/wpa_supplicant.service
this service manages the wpa_supplicant. It will be invoked by dhcpcd.
DHCP
====
dhcpcd
------
the dhcp client we use is dhcpcd. dhcpcd runs /libexec/dhcpcd-run-hooks if an event occurs like no carrier is available. We want to use this hook event to restart wpa_supplicant every time we lost the connection. But in fact it doesnt work after the switch root, cause of any reason dhcpcd doesnt run the script.
dhcpcd-run-hooks
----------------
dhcpcd-run-hooks is used by dhcpcd to run any system and user defined hook scripts. It executes all scripts in /libexec/dhcpcd-hooks/.
/debug/scripts/restart_wpa.sh
-----------------------------
this script restarts the wpa_supplicant
DEBUG
=====
rescue shell
------------
after the new system booted you have a busybox available on tty9. You can use this if you lost the connection after the switch root.
CHROOT
======
here you find an environment which provides dhcpcd and wpa_supplicant. It isnt included automaticly, because its not really tested. For more Information you find some manual steps at chroot/README.
|