Bering-uClibc 5.x - User Guide - Appendices - Hardware-Specific Guides
Appendices - Hardware-Specific Guides | ||
---|---|---|
Prev | Bering-uClibc 5.x - User Guide | Next |
Introduction
This page provides guidelines for Bering-uClibc 5.x users of specific hardware devices.
Bering-uClibc 5.x developers might also want to consult the equivalent page in the Developer Guide.
X86 CPU Architecture
PC Engines APU platform
Overview
The PC Engines APU platform is based on AMD G series T40E (1 GHz dual core (Bobcat core) with 64 bit support). The PC Engines APU platform provides three Gigabit Ethernet (Realtek RTL8111E), up to 4GB RAM and boots from external USB or mSATA SSD.
The device we are working on is equipped with 2GB RAM, a 16 GB mSATA SSD module and a Compex WLE200NX miniPCI express wireless module (802.11 a/b/g/n).
Currently it's impossible to install LEAF Bering-uClibc with a pxeboot/pxeinstall environment. Therefor you need an USB stick to prepare the APU. Also with the system described above booting from VFAT formatted devices fail, you'll be advised to use either ext2 or ext3 to format the mSATA device.
A working solution is to:
a) create a bootable USB stick and boot the APU from this stick and
b) install LEAF Bering-uClibc from an USB stick.
It is essential that you use LEAF Bering-uClibc 5.2 or later to accomplish that tasks.
Serial line settings
It is a known practice to use a dual boot setup to switch between a production and a test version on a LEAF router. For a dual boot setup with syslinux on an APU board the following settings for serial line are required (tested with minicom):
E - Bps/Par/Bits : 115200 8N1 F - Hardware Flow Control : No G - Software Flow Control : No
Booting from USB
To create a bootable USB device refer to the according chapter in the Bering-uClibc 5.x User Guide.
Use a Bering-uClibc i686 based syslinux serial image 5.2 or later (Bering-uClibc_5.2[-nn]_i686_syslinux_serial115200.tar.gz) as base.
After you have build the bootable USB device, edit LEAFCFG in syslinux/syslinux.cfg
DEFAULT /syslinux/linux initrd=/initrd.lrp,/initmod.lrp rw root=/dev/ram0 LEAFCFG=/dev/sdb1:vfat
and PKGPATH in leaf.cfg
PKGPATH=/dev/sdb1:vfat
on the device to point to the proper /dev/sdX. It is advised to use /dev/sdb. You have to make shure in the next step, that the USB device is detected as /dev/sdb and the mSATA as /dev/sda when booting the APU from USB device.
Plug the USB device into the APU. When powered on you'll see:
Press F10 key now for boot menu: ---> Press "F10"
Select boot device: 1. AHCI/0: SATA SSD ATA-10 Hard-Disk (15272 MiBytes) 2. iPXE (PCI 00:00.0) 3. Payload [setup] 4. Payload [memtest] ---> Choose "3"
The USB device will then be detected automatically.
Type lower case letter to move device to top boot devices ========================================================= d mSATA b USB 1 g NETWORK / PXE a SD Card c USB 2 e SATA 2 f SATA 3 ============================================== Type upper case letter to invoke action ============================================== R Restore boot order defaults N Network/PXE boot - Currently Enabled S Serial console - Currently Enabled E Exit setup with save X Exit setup without save ---> Type "E"
Note: If the sort order of your devices is different than shown above, first move the USB drive to the top by typing "b", than the mSATA drive with "d" to move it to the first place.
Press F10 key now for boot menu: ---> Once again choose "F10" Select boot device: 1. AHCI/0: SATA SSD ATA-10 Hard-Disk (15272 MiBytes) 2. USB MSC Drive ADATA USB Flash Drive 1.00 3. iPXE (PCI 00:00.0) 4. Payload [setup] 5. Payload [memtest] ---> Choose "b" to boot from the USB device
tbc
Installing LEAF Bering-uClibc to mSATA
tbd
Add firmware support for Realtek r8169 NIC
The file firmware.tgz
provides the firmware for the REALTEK r8169 network card. You need to copy the files to /lib/firmware
, backup modules and reboot. It will be loaded automatically.
Copy firmware.tgz
from your boot device to /tmp
and extract it:
# mount /dev/sda1 /mnt # cp /mnt/firmware.tgz /tmp # cd /tmp # tar -xvzf firmware.tgz
Move the directory rtl_nic
to /lib/firmware
# mv rtl_nic /lib/firmware
Backup modules with lrcfg
-> m and reboot.
To test run lshw
(install Package lswh.lrp)
# lshw | grep 8169
You should see a line like:
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl_nic/rtl8168e-2.fw
Configure the wireless interface as AccessPoint
This is an example setup for the Atheros wireless interface.
To load all required modules mount your boot device containing modules.tgz
and run hwdetect
.
# mount /dev/sda1 /mnt # hwdetect /mnt
Don't forget to backup modules.
Following a working hostapd.conf
for a wpa & wpa2 enabled access point and using ACS (Automatic Channel Selection):
interface=wlan0 driver=nl80211 logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=5 ctrl_interface=/var/run/hostapd ctrl_interface_group=0 ssid=[your-id] hw_mode=g channel=acs_survey auth_algs=1 wpa=3 wpa_passphrase=[yoursecretpassword] wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP rsn_pairwise=CCMP ignore_broadcast_ssid=0 # enable country code #country_code=[your country code e.g. IT] #ieee80211d=1
ARM CPU Architecture
ARM Versatile Platform Baseboards
Overview
The ARM® Versatile™ system boards are primarily relevant to Bering-uClibc because they are well supported and tested targets for the QEMU ARM emulator which is invaluable when developing Bering-uClibc 5.x implementations which target physical ARM processor hardware.
Several different CPU variants are available:
- ARM926EJ-S
- ARM1176JZF-S
- Same processor as the Raspberry Pi but only supported by very recent versions of QEMU; confirmed as present in QEMU 1.0.1
- ARM11MPCore
- Coretex-A8
Hardware / Driver Details
- The network controller chip is an SMSC LAN91C11x (SMC91C11xFD) and needs kernel Module
smc91x.ko
- The disk controller chip is an LSI Logic / Symbios Logic 53C895a and needs kernel Module
sym53c8xx.ko
- This is a SCSI disk controller. Disk devices appear as e.g.
/dev/sda
- This is a SCSI disk controller. Disk devices appear as e.g.
Raspberry Pi Model B
Overview
The Raspberry Pi is a physically small and very low-cost single board computer. The "Model B" variant includes a 10/100 Ethernet port and two USB 2.0 ports.
Hardware / Driver Details
Refer to the example boot log from an Alpha board here
- The network controller is integrated with the USB controller as part of an SMSC LAN9512 chip.
- This is supported by kernel Module
smsc95xx.ko
??? Davidmbrooke 16:34, 9 April 2012 (UTC)
- This is supported by kernel Module
- The disk controller chip is an ???
Boot Disk Layout
The Raspberry Pi must boot from its SD card and some vital files must be present in the right location.
The first disk partition must be formatted as a FAT-32 filesystem which must contain:
- A file called
start.elf
which contains the GPU binary driver - A file called
bootcode.bin
which is the second stage bootloader - A file called
loader.bin
which is the third stage bootloader - A file called
kernel.img
which is the Linux kernel- This seems to be a standard (uncompressed) Linux kernel
Image
file with a special 32KB prefix. See here
- This seems to be a standard (uncompressed) Linux kernel
- A file called
cmdline.txt
containing the kernel command line
It seems customary to put the files relating to a particular Linux distribution on a second disk partition. We therefore need a second FAT-32 disk partition for leaf.cfg
, all the .lrp
Package files etc.
Note that the Raspberry Pi references the first disk partition as /dev/mmcblk0p1
and the second disk partition as /dev/mmcblk0p2
.
Prev | Up | Next |