Difference between revisions of "Kernel XIP Instructions For OMAP"
Cherry2005 (Talk | contribs) (None) |
m (Add category) |
||
| (4 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | This page describes how to configure the kernel, write the kernel to an appropriate | |
| − | [ | + | area of flash memory, and boot it, using a CELF CE-Linux kernel (linux version 2.4.20) |
| − | + | on an OMAP innovator board. These instructions are somewhat old now, but they have | |
| − | + | general information which may still be useful for using [[Kernel XIP]] on some boards. | |
| − | + | ||
| + | ---- | ||
| + | |||
| + | Atsushi Settsu of Mitsubishi Electric Corp. wrote the following: | ||
| + | |||
| + | This is a procedure to set up kernel with Kernel-XIP when we try on Innovator OMAP. | ||
| + | |||
| + | The software used for this test was the CELinux-040126 kernel. | ||
| + | |||
| + | CELinux-040304. | ||
| + | 1. Configure the kernel. | ||
| + | * General setup->Kernel Execute-In-Place from ROM =y | ||
| + | * General setup->Kernel .text physical address = 60400 | ||
| + | |||
| + | Attached is the .config file used: Media:XIP.config | ||
| + | |||
| + | 2. Create the kernel. | ||
| + | * $ make clean; make dep; make xipImage; | ||
| + | |||
| + | If you execute above, a kernel with Kernel-XIP is made as vmlinux.rr in | ||
| + | arch/arm/boot/ . | ||
| + | |||
| + | 3. Write the kernel to OMAP Flash by BootLoader(rrload). | ||
| + | 1) Erase kernel area. | ||
| + | |||
| + | <pre> | ||
| + | "E. Erase [comp] from Flash.." -> | ||
| + | "3. Erase [Kernel]" -> | ||
| + | "Are you sure?" = "y" | ||
| + | </pre> | ||
| + | 2) Load kernel(vmlinux.rr to be made at 2.) to memory. | ||
| + | <pre> | ||
| + | "1. Load [comp] from I/O port..." -> | ||
| + | "3. Load [Kernel]" | ||
| + | </pre> | ||
| + | 3) Write kernel to flash. | ||
| + | <pre> | ||
| + | "2. Store RAM [comp] to Flash..." -> | ||
| + | "3. Store [Kernel]" | ||
| + | </pre> | ||
| + | |||
| + | This completes the setup. | ||
| + | |||
| + | 4. Boot the kernel | ||
| + | Use | ||
| + | <pre> | ||
| + | "4. Boot Kernel/filesystem (boot_auto)" | ||
| + | </pre> | ||
| + | |||
| + | When this option is selected in the BootLoader, | ||
| + | the BootLoader jumps to 0x60400 of physical address in OMAP Flash, and the | ||
| + | kernel with Kernel-XIP is booted. | ||
| + | |||
| + | The console output is as follows: | ||
| + | <pre> | ||
| + | +-------------------------------------+ | ||
| + | | Welcome to the | | ||
| + | | DSPLinux Bootloader | | ||
| + | | | | ||
| + | | rrload v4.8 by RidgeRun, Inc | | ||
| + | | rev D by MontaVista Software | | ||
| + | | platform: OMAP1510_INNOVATOR | | ||
| + | +-------------------------------------+ | ||
| + | |||
| + | MAIN MENU | ||
| + | --------- | ||
| + | 1. Load [comp] from I/O port... | ||
| + | 2. Store RAM [comp] to Flash... | ||
| + | 3. View/Edit Params... | ||
| + | 4. Boot Kernel/filesystem (boot_auto) | ||
| + | 5. CmdLine Mode | ||
| + | 6. Dump memory | ||
| + | |||
| + | r. Run Default Boot Cmd | ||
| + | E. Erase [comp] from Flash... | ||
| + | |||
| + | Which? 4 | ||
| + | Jumping to 0x00060400 | ||
| + | Linux version 2.4.20-celf1 (settsu@tux) (gcc %P!<%8%g%s 3.2.1 20020930 (MontaViT | ||
| + | CPU: Arm925Tsid(wt) [54029252] revision 2 (ARMv4T) | ||
| + | CPU: D write-back cache | ||
| + | CPU: I cache: 16384 bytes, associativity 2, 16 byte lines, 512 sets | ||
| + | CPU: D cache: 8192 bytes, associativity 2, 16 byte lines, 256 sets | ||
| + | Machine: TI-Innovator/OMAP1510 | ||
| + | On node 0 totalpages: 8192 | ||
| + | zone(0): 8192 pages. | ||
| + | zone(1): 0 pages. | ||
| + | zone(2): 0 pages. | ||
| + | Kernel command line: mem=32M console=ttyS0,115200n8 noinitrd root=/dev/nfs ip=bp | ||
| + | Console: colour dummy device 80x30 | ||
| + | Calibrating delay loop... 83.76 BogoMIPS | ||
| + | Use CONFIG_INSTANT_ON_LPJ=418816 for Instant On. | ||
| + | Memory: 32MB = 32MB total | ||
| + | Memory: 32088KB available (1405K code, 274K data, 59K init) | ||
| + | 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) | ||
| + | POSIX conformance testing by UNIFIX | ||
| + | Initializing the Linux Driver Model... | ||
| + | Linux NET4.0 for Linux 2.4 | ||
| + | Based upon Swansea University Computer Society NET3.039 | ||
| + | Initializing RT netlink socket | ||
| + | Innovator FPGA Rev 2.0 Board Rev 16 | ||
| + | Power Management for the OMAP1510 is initialized pm_idle 0xd807ad00 | ||
| + | OMAP1510 Innovator Dynamic Power Management | ||
| + | Starting kswapd | ||
| + | Disabling the Out Of Memory Killer | ||
| + | pty: 256 Unix98 ptys configured | ||
| + | Serial driver version 5.05c (2001-07-08) with no serial options enabled | ||
| + | ttyS00 at 0xfffb0000 (irq = 46) is a OMAP UART | ||
| + | ttyS01 at 0xfffb0800 (irq = 47) is a OMAP UART | ||
| + | ttyS02 at 0xfffb9800 (irq = 15) is a OMAP UART | ||
| + | TI Innovator/OMAP1510 keypad driver. | ||
| + | innovator_ps2: Innovator PS/2 keyboard/mouse driver v1.0 | ||
| + | smc9194.c:v0.15 12/15/00 by Erik Stahlman (erik@vt.edu) | ||
| + | eth0: SMC91C94/91C96 (rev 9) at 0xe8000300 IRQ:93 INTF:TP MEM:6144b ADDR: 00:0b0 | ||
| + | RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize | ||
| + | nvrd: NVRD size in bytes must be specified | ||
| + | PPP generic driver version 2.4.2 | ||
| + | PPP Deflate Compression module registered | ||
| + | DSPLinux FB (c) 2001 RidgeRun, Inc. | ||
| + | Console: switching to colour frame buffer device 30x40 | ||
| + | mice: PS/2 mouse device common for all mice | ||
| + | NET4: Linux TCP/IP 1.0 for NET4.0 | ||
| + | IP Protocols: ICMP, UDP, TCP | ||
| + | IP: routing cache hash table of 512 buckets, 4Kbytes | ||
| + | TCP: Hash tables configured (established 2048 bind 4096) | ||
| + | Sending BOOTP requests . OK | ||
| + | IP-Config: Got BOOTP answer from 192.168.128.2, my address is 192.168.128.34 | ||
| + | IP-Config: Complete: | ||
| + | device=eth0, addr=192.168.128.34, mask=255.255.255.0, gw=192.168.128.1, | ||
| + | host=192.168.128.34, domain=isl.melco.co.jp, nis-domain=(none), | ||
| + | bootserver=192.168.128.2, rootserver=192.168.128.2, rootpath=/opt/mvlcee/ds | ||
| + | NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. | ||
| + | NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com | ||
| + | Looking up port of RPC 100003/2 on 192.168.128.2 | ||
| + | Looking up port of RPC 100005/1 on 192.168.128.2 | ||
| + | VFS: Mounted root (nfs filesystem). | ||
| + | INIT: version 2.78 booting | ||
| + | Activating swap... | ||
| + | Checking all file systems... | ||
| + | Parallelizing fsck version 1.22 (22-Jun-2001) | ||
| + | Mounting local filesystems... | ||
| + | nothing was mounted | ||
| + | Cleaning: /etc/network/ifstate. | ||
| + | Setting up IP spoofing protection: rp_filter. | ||
| + | Disable TCP/IP Explicit Congestion Notification: done. | ||
| + | Configuring network interfaces: done. | ||
| + | Starting portmap daemon: portmap. | ||
| + | Cleaning: /tmp /var/lock /var/run. | ||
| + | INIT: Entering runlevel: 3 | ||
| + | Starting system log daemon: syslogd klogd. | ||
| + | Starting internet superserver: inetd. | ||
| + | |||
| + | 192.168.128.34 login: | ||
| + | </pre> | ||
| + | [[Category:OMAP]] | ||
Latest revision as of 22:18, 27 October 2011
This page describes how to configure the kernel, write the kernel to an appropriate area of flash memory, and boot it, using a CELF CE-Linux kernel (linux version 2.4.20) on an OMAP innovator board. These instructions are somewhat old now, but they have general information which may still be useful for using Kernel XIP on some boards.
Atsushi Settsu of Mitsubishi Electric Corp. wrote the following:
This is a procedure to set up kernel with Kernel-XIP when we try on Innovator OMAP.
The software used for this test was the CELinux-040126 kernel.
CELinux-040304. 1. Configure the kernel.
- General setup->Kernel Execute-In-Place from ROM =y
- General setup->Kernel .text physical address = 60400
Attached is the .config file used: Media:XIP.config
2. Create the kernel.
- $ make clean; make dep; make xipImage;
If you execute above, a kernel with Kernel-XIP is made as vmlinux.rr in arch/arm/boot/ .
3. Write the kernel to OMAP Flash by BootLoader(rrload).
1) Erase kernel area.
"E. Erase [comp] from Flash.." ->
"3. Erase [Kernel]" ->
"Are you sure?" = "y"
2) Load kernel(vmlinux.rr to be made at 2.) to memory.
"1. Load [comp] from I/O port..." ->
"3. Load [Kernel]"
3) Write kernel to flash.
"2. Store RAM [comp] to Flash..." ->
"3. Store [Kernel]"
This completes the setup.
4. Boot the kernel Use
"4. Boot Kernel/filesystem (boot_auto)"
When this option is selected in the BootLoader, the BootLoader jumps to 0x60400 of physical address in OMAP Flash, and the kernel with Kernel-XIP is booted.
The console output is as follows:
+-------------------------------------+
| Welcome to the |
| DSPLinux Bootloader |
| |
| rrload v4.8 by RidgeRun, Inc |
| rev D by MontaVista Software |
| platform: OMAP1510_INNOVATOR |
+-------------------------------------+
MAIN MENU
---------
1. Load [comp] from I/O port...
2. Store RAM [comp] to Flash...
3. View/Edit Params...
4. Boot Kernel/filesystem (boot_auto)
5. CmdLine Mode
6. Dump memory
r. Run Default Boot Cmd
E. Erase [comp] from Flash...
Which? 4
Jumping to 0x00060400
Linux version 2.4.20-celf1 (settsu@tux) (gcc %P!<%8%g%s 3.2.1 20020930 (MontaViT
CPU: Arm925Tsid(wt) [54029252] revision 2 (ARMv4T)
CPU: D write-back cache
CPU: I cache: 16384 bytes, associativity 2, 16 byte lines, 512 sets
CPU: D cache: 8192 bytes, associativity 2, 16 byte lines, 256 sets
Machine: TI-Innovator/OMAP1510
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: mem=32M console=ttyS0,115200n8 noinitrd root=/dev/nfs ip=bp
Console: colour dummy device 80x30
Calibrating delay loop... 83.76 BogoMIPS
Use CONFIG_INSTANT_ON_LPJ=418816 for Instant On.
Memory: 32MB = 32MB total
Memory: 32088KB available (1405K code, 274K data, 59K init)
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)
POSIX conformance testing by UNIFIX
Initializing the Linux Driver Model...
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Innovator FPGA Rev 2.0 Board Rev 16
Power Management for the OMAP1510 is initialized pm_idle 0xd807ad00
OMAP1510 Innovator Dynamic Power Management
Starting kswapd
Disabling the Out Of Memory Killer
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ttyS00 at 0xfffb0000 (irq = 46) is a OMAP UART
ttyS01 at 0xfffb0800 (irq = 47) is a OMAP UART
ttyS02 at 0xfffb9800 (irq = 15) is a OMAP UART
TI Innovator/OMAP1510 keypad driver.
innovator_ps2: Innovator PS/2 keyboard/mouse driver v1.0
smc9194.c:v0.15 12/15/00 by Erik Stahlman (erik@vt.edu)
eth0: SMC91C94/91C96 (rev 9) at 0xe8000300 IRQ:93 INTF:TP MEM:6144b ADDR: 00:0b0
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
nvrd: NVRD size in bytes must be specified
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
DSPLinux FB (c) 2001 RidgeRun, Inc.
Console: switching to colour frame buffer device 30x40
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
Sending BOOTP requests . OK
IP-Config: Got BOOTP answer from 192.168.128.2, my address is 192.168.128.34
IP-Config: Complete:
device=eth0, addr=192.168.128.34, mask=255.255.255.0, gw=192.168.128.1,
host=192.168.128.34, domain=isl.melco.co.jp, nis-domain=(none),
bootserver=192.168.128.2, rootserver=192.168.128.2, rootpath=/opt/mvlcee/ds
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
Looking up port of RPC 100003/2 on 192.168.128.2
Looking up port of RPC 100005/1 on 192.168.128.2
VFS: Mounted root (nfs filesystem).
INIT: version 2.78 booting
Activating swap...
Checking all file systems...
Parallelizing fsck version 1.22 (22-Jun-2001)
Mounting local filesystems...
nothing was mounted
Cleaning: /etc/network/ifstate.
Setting up IP spoofing protection: rp_filter.
Disable TCP/IP Explicit Congestion Notification: done.
Configuring network interfaces: done.
Starting portmap daemon: portmap.
Cleaning: /tmp /var/lock /var/run.
INIT: Entering runlevel: 3
Starting system log daemon: syslogd klogd.
Starting internet superserver: inetd.
192.168.128.34 login: