3767
Kommentar:
|
4559
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 183: | Zeile 183: |
CONFIG_UNIX | CONFIG_UNIX=y |
Zeile 185: | Zeile 185: |
CONFIG_LOCALVERSION_AUTO=y Damit enthalten die Modulverzeichnisse unter /lib/modules/ noch die aktuelle Git Version des Kernels. Ich neige eher dazu, diese Option nicht einzuschalten. CONFIG_FIRMWARE_IN_KERNEL=y Haeufig muessen WLAN Adapter beim Aktivieren noch mit Firmware geladen werden, z.B. "rt73.bin". Falls das dynamische Laden aus dem Verzeichnis /lib/modules/ aus irgendwelchen Gruenden nicht funktioniert, kann man die Firmware damit auch in den Kernel fest einbauen. Leider vergroessert das auch das Kernel Image. CONFIG_GPIO_SYSFS=y, CONFIG_SYSFS=y Damit kann man die GPIO Pins mit den Dateien unter /sys/class/gpio/ ansteuern. CONFIG_DEBUG_GPIO CONFIG_HW_RANDOM Hardware Zufallszahlengenerator |
Embedded Linux im Sommersemester 2012
Hubert Högl, März 2012
URL: http://elk.informatik.hs-augsburg.de/hhweb/elinux/index.html
Inhalt
1 Muster für screen Init-Datei
http://elk.informatik.hs-augsburg.de/pub/eplpc3131/work_eplpc3131/etc/_screenrc
2 Muster für kermit Init-Datei
http://elk.informatik.hs-augsburg.de/pub/eplpc3131/work_eplpc3131/etc/_kermrc
6 set.sh
# ELDK5 environment settings for Gnublin LPC3131 # <Hubert.Hoegl@hs-augsburg.de> 2011-12-12 ELDK5X86=/opt/eldk-5.0/armv5te/sysroots/i686-oesdk-linux P1=$ELDK5X86/usr/bin/armv5te-linux-gnueabi/ P2=$ELDK5X86/bin/armv5te-linux-gnueabi/ export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabi- export PATH=$P1:$P2:$PATH
8 Kernel kompilieren
Es gibt zwei Möglichkeiten:
8.1 Variante 1
Die ELDK 5.0 Toolchain muss installiert sein.
Kernelsourcen holen
git clone git://elk.informatik.hs-augsburg.de/srv/git/repositories/gnublin-linux-2.6.33.git
Umschalten auf Branch "gnublin"
git checkout gnublin
Einstellungen "sourcen":
. set.sh
- make menuconfig
make zImage, make modules
Das zImage findet man im Verzeichnis arch/arm/boot/.
Module installieren
make modules_install INSTALL_MOD_PATH=<your-module-path>
9 WiFi mit WEP
"Patriot" USB WiFi Adapter mit r8712u Treiber (fest einkompiliert)
root@armv5te:~# ifconfig wlan0 up root@armv5te:~# iwconfig wlan0 mode managed essid "linksys" key 0...116EBB986.....1DF02829 root@armv5te:~# udhcpc -i wlan0
Essid und WEP key muessen angepasst werden.
10 WiFi im Eduroam Netz der Hochschule
Interface starten
root@armv5te:~# ifconfig wlan0 up
Starten des wpa_supplicant im Hintergrund:
root@armv5te:~# cat start-wpa-supp-bg.sh sudo wpa_supplicant -i wlan0 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf -B
Zum Testen ist es nuetzlich, wpa_supplicant im Vordergrund zu starten. Dazu ersetzt man die -B Option durch -d.
/etc/wpa_supplicant/wpa_supplicant.conf
# path to UNIX socket control interface ctrl_interface=/var/run/wpa_supplicant #eapol_version=1 ap_scan=1 network={ ssid="eduroam" key_mgmt=WPA-EAP eap=TTLS proto=WPA RSN identity="hhoegl" anonymous_identity="anonymous@hs-augsburg.de" password="......." # ca_cert="/etc/wpa_supplicant/deutsche-telekom-root-ca-2.crt" phase2="auth=PAP" }
Adressen mit DHCP beziehen:
# udhcpc -i wlan0
11 Wichtige Kernel Konfigurationsvariable
- CONFIG_UNIX=y
- Das ist die Voraussetzung, damit der syslog Daemon arbeiten kann.
- CONFIG_LOCALVERSION_AUTO=y
- Damit enthalten die Modulverzeichnisse unter /lib/modules/ noch die aktuelle Git Version des Kernels. Ich neige eher dazu, diese Option nicht einzuschalten.
- CONFIG_FIRMWARE_IN_KERNEL=y
- Haeufig muessen WLAN Adapter beim Aktivieren noch mit Firmware geladen werden, z.B. "rt73.bin". Falls das dynamische Laden aus dem Verzeichnis /lib/modules/ aus irgendwelchen Gruenden nicht funktioniert, kann man die Firmware damit auch in den Kernel fest einbauen. Leider vergroessert das auch das Kernel Image.
- CONFIG_GPIO_SYSFS=y, CONFIG_SYSFS=y
- Damit kann man die GPIO Pins mit den Dateien unter /sys/class/gpio/ ansteuern.
CONFIG_DEBUG_GPIO
- CONFIG_HW_RANDOM
- Hardware Zufallszahlengenerator