Bootvorgang openMGB mit Redboot

Während des Entwicklungszeitraums von openMGB wird der Kernel und die RAM-Disk von einem Server geladen. Dies geschieht durch den Bootloader Redboot.

Nach dem Einschalten startet Redboot und muss mit CTRL+C unterbrochen werden, da noch kein Kernel und RAM-Disk im Flash sind.

Nun kann das aktuelle openMGB Build getestet werden. Dazu sind einige Redboot-Kommandos notwendig.

ip_address -l

load -r -b 0x1ae0000 -m http -h /~welzel/rootfs.ext2.gz
load -r -b 0x400000 -m http -h /~welzel/bzImage
linux -b 0x400000 -l 0x180000 -r 0x1ae0000 -s 0x500000 -c "console=ttyS0,38400"

Zuerst muss die IP Adresse des MGB100 gesetzt werden (abhängig vom Subnetz). Danach werden der Kernel und die RAM-Disk in den Speicher geladen und der Linux Bootvorgang gestartet:


+Ethernet eth0: MAC address 00:00:01:02:03:04
IP:, Gateway:
Default server:

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version v2_0 - built 21:06:47, Oct 17 2007

Platform: PC (I386)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x000f0000, 0x00072650-0x000a0000 available
Redboot for MGB100 by laxan
<press Ctrl+C to enter prompt mode>

RedBoot> ^C
RedBoot> ip_address -l
IP:, Gateway:
Default server:
RedBoot> load -r -b 0x1ae0000 -m http -h /~welzel/rootfs.ext2.gz
Raw file loaded 0x01ae0000-0x01cea155, assumed entry at 0x01ae0000
RedBoot> load -r -b 0x400000 -m http -h /~welzel/bzImage
Raw file loaded 0x00400000-0x004e836e, assumed entry at 0x00400000
RedBoot> linux -b 0x400000 -l 0x180000 -r 0x1ae0000 -s 0x500000 -c "console=ttyS0,38400"

mem_size: 2000000
initrd 1ae0000 len 500000
Linux version (welzel@apollo) (gcc version 3.4.6) #9 Di Mai 20 18:27:21 CEST 2008
BIOS-provided physical RAM map:
BIOS-e801: 0000000000000000 - 000000000009f000 (usable)
BIOS-e801: 0000000000100000 - 0000000002000000 (usable)
32MB LOWMEM available.
On node 0 totalpages: 8192
zone(0): 4096 pages.
zone(1): 4096 pages.
zone(2): 0 pages.
DMI not present.
Kernel command line: console=ttyS0,38400
Initializing CPU#0
Calibrating delay loop... 44.33 BogoMIPS
Memory: 24904k/32768k available (1409k kernel code, 7476k reserved, 306k data, 60k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
CPU: Cyrix Cx486SLC
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
Installing knfsd (copyright (C) 1996
NTFS driver v1.1.22 [Flags: R/O]
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
MGB100 LED/Key Driver v0.0.2
Real Time Clock Driver v1.10f
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
IT821x: unknown IDE controller at PCI slot 00:04.0, VID=1283, DID=8211
IT821x: chipset revision 17
IT821x: not 100% native mode: will probe irqs later
it8212: forcing bypass mode.
it821x: controller in pass through mode.
    ide0: BM-DMA at 0x4400-0x4407, BIOS settings: hda:pio, hdb:pio
hda: SAMSUNG HM080HC, ATA DISK drive
ide0 at 0x4000-0x4007,0x4102 on irq 9
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=9729/255/63, UDMA(100)
Partition check:
hda: hda1
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
mgb100 flash device: 400000 at ffc00000
Amd/Fujitsu Extended Query Table v1.1 at 0x0040
MGB100 flash memory: Swapping erase regions for broken CFI table.
number of CFI chips: 1
cfi_cmdset_0002: Disabling fast programming due to code brokenness.
Using mgb100 partition definition
Creating 5 MTD partitions on "MGB100 flash memory":
0x00000000-0x00100000 : "linux"
0x00100000-0x00380000 : "root (initrd)"
0x00380000-0x003e0000 : "var (jffs2)"
0x003e0000-0x00400000 : "bootloader"
0x00000000-0x003e0000 : "Flash without bootloader"
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
ehci_hcd 00:0a.1: PCI device 17f3:6061
ehci_hcd 00:0a.1: irq 14, pci mem c2c71000
usb.c: new USB bus registered, assigned bus number 1
ehci_hcd 00:0a.1: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
hub.c: USB hub found
hub.c: 2 ports detected
host/usb-ohci.c: USB OHCI at membase 0xc2c73000, IRQ 15
host/usb-ohci.c: usb-00:0a.0, PCI device 17f3:6060
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: Ethernet Bridge 008 for NET4.0
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 5120k freed
VFS: Mounted root (ext2 filesystem).
init started: BusyBox v1.10.0 (2008-04-21 18:56:17 CEST)
starting pid 15, tty '': '/etc/init.d/rc.config'
Jun 29 13:46:11 (none) syslogd started: BusyBox v1.10.0
r6040: RDC R6040 net driver, version 0.17a (05Oct2007)
starting pid 27, tty '': '/etc/init.d/rcS'
Starting portmap: done
Initializing random number generator... read-only file system detected...done
Starting network...                                                  done
Starting dropbear...                                                 done
Starting bftpd...                                                    done
Starting NFS statd: done
Starting NFS services: done
Starting NFS daemon: done
Starting NFS mountd: done
starting pid 110, tty '/dev/ttyS0': '/sbin/getty -L ttyS0 38400

Welcome to openMGB - Kernel

openMGB login: root
# uname -a
Linux openMGB #9 Di Mai 20 18:27:21 CEST 2008 i486 unknown