1*4abd1e69Snjoly.\" $NetBSD: bootmini2440.8,v 1.4 2012/06/02 14:04:34 njoly Exp $ 26e0f9f1cSnisimura.\" 36e0f9f1cSnisimura.\" Copyright (c) 2012 The NetBSD Foundation, Inc. 46e0f9f1cSnisimura.\" All rights reserved. 56e0f9f1cSnisimura.\" 66e0f9f1cSnisimura.\" This code is derived from software contributed to The NetBSD Foundation 76e0f9f1cSnisimura.\" by Paul Fleischer <paul@xpg.dk>. 86e0f9f1cSnisimura.\" 96e0f9f1cSnisimura.\" Redistribution and use in source and binary forms, with or without 106e0f9f1cSnisimura.\" modification, are permitted provided that the following conditions 116e0f9f1cSnisimura.\" are met: 126e0f9f1cSnisimura.\" 1. Redistributions of source code must retain the above copyright 136e0f9f1cSnisimura.\" notice, this list of conditions and the following disclaimer. 146e0f9f1cSnisimura.\" 2. Redistributions in binary form must reproduce the above copyright 156e0f9f1cSnisimura.\" notice, this list of conditions and the following disclaimer in the 166e0f9f1cSnisimura.\" documentation and/or other materials provided with the distribution. 176e0f9f1cSnisimura.\" 186e0f9f1cSnisimura.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 196e0f9f1cSnisimura.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 206e0f9f1cSnisimura.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 216e0f9f1cSnisimura.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 226e0f9f1cSnisimura.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 236e0f9f1cSnisimura.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 246e0f9f1cSnisimura.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 256e0f9f1cSnisimura.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 266e0f9f1cSnisimura.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 276e0f9f1cSnisimura.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 286e0f9f1cSnisimura.\" POSSIBILITY OF SUCH DAMAGE. 296e0f9f1cSnisimura.\" 306e0f9f1cSnisimura.Dd January 31, 2012 316e0f9f1cSnisimura.Dt BOOTMINI2440 8 evbarm 3271fcb57dSwiz.Os 336e0f9f1cSnisimura.Sh NAME 346e0f9f1cSnisimura.Nm bootmini2440 356e0f9f1cSnisimura.Nd bootloader for FriendlyARM MINI2440 evaluation board 366e0f9f1cSnisimura.Sh DESCRIPTION 376e0f9f1cSnisimura.Nm 386e0f9f1cSnisimurais a program to load 396e0f9f1cSnisimura.Tn ELF 406e0f9f1cSnisimura.Nx 416e0f9f1cSnisimurakernel, which works on top of 426e0f9f1cSnisimura.Tn U-Boot . 436e0f9f1cSnisimuraIt loads and executes a kernel from an SD memory card, or over 4471fcb57dSwizthe network using the 456e0f9f1cSnisimura.Tn NFS/TFTP 466e0f9f1cSnisimuraprotocol. 476e0f9f1cSnisimura.Pp 486e0f9f1cSnisimuraThe 496e0f9f1cSnisimura.Nm 506e0f9f1cSnisimurabootloader can be loaded anywhere by 516e0f9f1cSnisimura.Tn U-Boot , 526e0f9f1cSnisimuraalthough care should be taken that the bootloader can load the 536e0f9f1cSnisimura.Nx 5471fcb57dSwizkernel without overwriting itself. 5571fcb57dSwizThe kernel is, by default, made to be loaded at 0x30200000. 5671fcb57dSwizThe recommended location for 576e0f9f1cSnisimura.Nm 586e0f9f1cSnisimurais 0x30A00000. 596e0f9f1cSnisimura.Pp 606e0f9f1cSnisimura.Nm 616e0f9f1cSnisimuratakes a number of arguments, which all are optional: 626e0f9f1cSnisimura.Dl Ar mac=xx:xx:xx:xx:xx:xx Ar opt1 ... Ar optN Ar bootname 636e0f9f1cSnisimura.Bl -tag -width xx 646e0f9f1cSnisimura.It Va mac= 656e0f9f1cSnisimurais used to set the MAC-address of the on-board DM9000 Ethernet 6671fcb57dSwizchip. 6771fcb57dSwizAs Mini2440 has no EEPROM to store DM9000 MAC-address, this 6871fcb57dSwizis necessary in order to have a working Ethernet controller. 6971fcb57dSwizIf this argument is left unspecified, a default value of 08:08:11:18:12:27 706e0f9f1cSnisimurais used. 716e0f9f1cSnisimura.It Va opt1 ... Va optN 7271fcb57dSwizis one of single, kdb, ask, quiet, or verbose. 7371fcb57dSwizTheir meaning is described in 7471fcb57dSwiz.Xr boothowto 9 . 756e0f9f1cSnisimura.It Va bootname 766e0f9f1cSnisimurais one of the following: 776e0f9f1cSnisimura.Pp 786e0f9f1cSnisimura.Dl net: Ns Ar ip Ns : Ns Ar filename 796e0f9f1cSnisimura.Dl net: Ns Ar filename 806e0f9f1cSnisimura.Dl net: 816e0f9f1cSnisimura.Dl tftp: Ns Ar filename 826e0f9f1cSnisimura.Dl tftp: 836e0f9f1cSnisimura.Dl ld0 Ns Ar p : Ns Ar filename 846e0f9f1cSnisimura.Dl ld0 Ns Ar p : 856e0f9f1cSnisimura.Pp 866e0f9f1cSnisimura.Bl -tag -width xx 876e0f9f1cSnisimura.It net: Ns Va ip Ns : Ns Va filename 886e0f9f1cSnisimurause 896e0f9f1cSnisimura.Tn DHCP 906e0f9f1cSnisimurato determine own IP-address and load kernel specified by 916e0f9f1cSnisimura.Ar filename 926e0f9f1cSnisimurafrom the server specified by 936e0f9f1cSnisimura.Ar ip 946e0f9f1cSnisimurausing 956e0f9f1cSnisimura.Tn NFS . 966e0f9f1cSnisimura.It net: Ns Ar filename 976e0f9f1cSnisimurause 986e0f9f1cSnisimura.Tn DHCP 9971fcb57dSwizto determine own IP-address and server IP-address. 10071fcb57dSwizLoad kernel specified by 1016e0f9f1cSnisimura.Ar filename 1026e0f9f1cSnisimurafrom the server using 1036e0f9f1cSnisimura.Tn NFS . 1046e0f9f1cSnisimura.It net: 1056e0f9f1cSnisimurause 1066e0f9f1cSnisimura.Tn DHCP 1076e0f9f1cSnisimurato determine own IP-address, server IP-address, and kernel to load. 1086e0f9f1cSnisimuraLoad the kernel using 1096e0f9f1cSnisimura.Tn NFS . 1106e0f9f1cSnisimura.It tftp: Ns Ar filename 1116e0f9f1cSnisimurause 1126e0f9f1cSnisimura.Tn DHCP 11371fcb57dSwizto determine own IP-address and server IP-address. 11471fcb57dSwizLoad kernel specified by 1156e0f9f1cSnisimura.Ar filename 1166e0f9f1cSnisimurafrom the server using 1176e0f9f1cSnisimura.Tn TFTP . 1186e0f9f1cSnisimura.It tftp: 1196e0f9f1cSnisimurause 1206e0f9f1cSnisimura.Tn DHCP 1216e0f9f1cSnisimurato determine own IP-address, server IP-address, and kernel to load. 1226e0f9f1cSnisimuraLoad kernel using 1236e0f9f1cSnisimura.Tn TFTP . 1246e0f9f1cSnisimura.It ld0 Ns Va p : Ns Va filename 12571fcb57dSwizload kernel from an SD card. 12671fcb57dSwizThe kernel specified by 1276e0f9f1cSnisimura.Ar filename 1286e0f9f1cSnisimurais attempted loaded on the partition given by 1296e0f9f1cSnisimura.Ar p . 1306e0f9f1cSnisimura.It ld0 Ns Va p : 13171fcb57dSwizload kernel from an SD card. 13271fcb57dSwizThe kernel will be loaded from the file 13371fcb57dSwiz.Dq Pa netbsd 13471fcb57dSwizon the partition specified by 1356e0f9f1cSnisimura.Ar p . 1366e0f9f1cSnisimura.El 137*4abd1e69Snjoly.El 1386e0f9f1cSnisimura.Sh EXAMPLES 1396e0f9f1cSnisimura.Ss Loading Nm 1406e0f9f1cSnisimuraUse 1416e0f9f1cSnisimura.Tn U-Boot 1426e0f9f1cSnisimurato load 1436e0f9f1cSnisimura.Nm 1446e0f9f1cSnisimuraat 0x30A00000 from an 1456e0f9f1cSnisimura.Tn NFS 1466e0f9f1cSnisimurashare: 1476e0f9f1cSnisimura.Dl Uboot> nfs 30A00000 10.0.0.1:/srv/mini2440/bootmini2440 1486e0f9f1cSnisimura.Ss Booting Nx 1496e0f9f1cSnisimuraLoad the kernel from an 1506e0f9f1cSnisimura.Tn NFS 1516e0f9f1cSnisimurashare, overwriting the default MAC-address, and 1526e0f9f1cSnisimurabooting into single user-mode: 1536e0f9f1cSnisimura.Dl Uboot> go 30A00000 single mac=08:08:11:20:22:30 net:10.0.0.1:/srv/mini2440/netbsd 1546e0f9f1cSnisimura.Pp 1556e0f9f1cSnisimuraLoad the kernel from an SD card, overwriting the default 1566e0f9f1cSnisimuraMAC-address, and booting into single user-mode: 1576e0f9f1cSnisimura.Dl Uboot> go 30A00000 single mac=08:08:11:20:22:30 ld0a:netbsd 1586e0f9f1cSnisimura.Sh SEE ALSO 1596e0f9f1cSnisimura.Xr dhcpd 8 , 1606e0f9f1cSnisimura.Xr diskless 8 , 1616e0f9f1cSnisimura.Xr nfsd 8 , 1623fc9fe77Snjoly.Xr tftpd 8 , 1636e0f9f1cSnisimura.Xr boothowto 9 1646e0f9f1cSnisimura.Sh HISTORY 1656e0f9f1cSnisimuraThe 1666e0f9f1cSnisimura.Nx Ns Tn /evbarm 1676e0f9f1cSnisimura.Nm 1686e0f9f1cSnisimurafirst appeared in 1696e0f9f1cSnisimura.Nx 6.0 . 17071fcb57dSwiz.Sh BUGS 17171fcb57dSwiz.Nm 17271fcb57dSwizcannot currently function properly without 17371fcb57dSwiz.Tn U-Boot 17471fcb57dSwiz(or equivalent). 17571fcb57dSwizAlthough it performs clock and 17671fcb57dSwiz.Tn UART 17771fcb57dSwizconfiguration, it cannot bootstrap itself from 17871fcb57dSwiz.Tn NAND 17971fcb57dSwizflash. 180