4781
Kommentar:
|
4781
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 190: | Zeile 190: |
(fuer Kernel 2.6.33) | (für Kernel 2.6.33) |
Zeile 201: | Zeile 201: |
Haeufig muessen WLAN Adapter beim Aktivieren noch mit Firmware | Häufig müssen WLAN Adapter beim Aktivieren noch mit Firmware |
Zeile 203: | Zeile 203: |
dem Verzeichnis /lib/modules/ aus irgendwelchen Gruenden nicht | dem Verzeichnis /lib/modules/ aus irgendwelchen Gründen nicht |
Zeile 205: | Zeile 205: |
einbauen. Leider vergroessert das auch das Kernel Image. | einbauen. Leider vergrössert das auch das Kernel Image. |
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.
- Hostrechner vorbereiten: Oft fehlen die Pakete: git, libncurses5-dev. Auf Fehlermeldungen achten, ob weitere Pakete fehlen.
Kernelsourcen holen
git clone git://elk.informatik.hs-augsburg.de/srv/git/repositories/gnublin-linux-2.6.33.git
Verzeichnis wechseln:
cd gnublin-linux-2.6.33
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
(für Kernel 2.6.33)
- 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
- Häufig müssen WLAN Adapter beim Aktivieren noch mit Firmware geladen werden, z.B. "rt73.bin". Falls das dynamische Laden aus dem Verzeichnis /lib/modules/ aus irgendwelchen Gründen nicht funktioniert, kann man die Firmware damit auch in den Kernel fest einbauen. Leider vergrössert 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