Date: Sun, 18 Feb 2007 19:01:42 +0100 From: Soeren Straarup <xride@x12.dk> To: "M. Warner Losh" <imp@bsdimp.com> Cc: freebsd-arm@freebsd.org Subject: Re: At91rm9200 boot? Message-ID: <20070218180142.GC66059@x12.dk> In-Reply-To: <20070217.192205.547446193.imp@bsdimp.com> References: <20070215192810.GC78895@x12.dk> <20070215.134941.104122801.imp@bsdimp.com> <20070217201021.GB66059@x12.dk> <20070217.192205.547446193.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Feb 17, 2007 at 07:22:05PM -0700, M. Warner Losh wrote: > In message: <20070217201021.GB66059@x12.dk> > Soeren Straarup <xride@x12.dk> writes: > : On Thu, Feb 15, 2007 at 01:49:41PM -0700, Warner Losh wrote: > : > From: Soeren Straarup <xride@x12.dk> > : > Subject: Re: At91rm9200 boot? > : > Date: Thu, 15 Feb 2007 20:28:10 +0100 > : > > : > > On Thu, Feb 15, 2007 at 09:46:42AM -0700, M. Warner Losh wrote: > : > > > In message: <45D45269.4050509@bulinfo.net> > : > > > Krassimir Slavchev <krassi@bulinfo.net> writes: > : > > > : M. Warner Losh wrote: > : > > > : > In message: <45D3119F.4020302@bulinfo.net> > : > > > : > Krassimir Slavchev <krassi@bulinfo.net> writes: > : > > > : > : I have board with at91rm9200, 64Mb SDRAM, 4Mb dataflash and 64kb iic. > : > > > : > : There is bootloader installed in iic which boots linux kernel from > : > > > : > : dataflash. > : > > > : > : What I need to know for this bootloader to be able to boot FreeBSD kernel? > : > > > : > > : > > > : > How to install the FreeBSD kernel in place of the linux kernel > : > > > : > currently in dataflash. > : > > > : > > : > > > : > Depending on the dataflash, you may also be able to do any or all of > : > > > : > the following: > : > > > : > (1) install the freebsd boot loader that boots from SD cards (boot2) > : > > > : > (2) install the freebsd boot loader that boots from dataflash (bootspi) > : > > > : > > : > > > : These boot loaders can't be fitted in the 8kbytes eeprom (24C64). > : > > > > : > > > Well, they could be made to fit into 8KB, but they don't right now. A > : > > > lot of effort has been made to make them small. bootspi likely is the > : > > > easiest candidate, since it is closest. I tried really hard to make > : > > > boot2 fit into 8k, but ran out of time. I did manage to slim down the > : > > > boot loaders from about 48k when I started to 9-10k after all was said > : > > > and done. The at91rm9200 parts have 16k of SRAM, of which 12k are > : > > > useful. > : > > > > : > > > The newer AT91SAM926x parts have only 4kb of SRAM, so I'm unsure what > : > > > I'll be doing there. > : > > > : > > Is there support at all for AT91SAM9260? Or should i stick to > : > > AT91RM9200 ? > : > > : > only in my trees. Atmel gave me a board a couple of weeks ago to add > : > support for it, but I've not yet had time to integrate it into the p4 > : > tree or to -current. Short term at91rm9200 is what is there and > : > supported. > : > > : > The work will be at my own pace, since I'm not funded to do it at the > : > moment... If that changes, the pace will pick up. > : > > : > Warner > : > > : > > : > > > : > (3) Use the FreeBSD dataflash support to manage this situation. > : > > > : > > : > > > : Where to find more information about this support? > : > > > > : > > > At the moment there's only source. src/sys/dev/flash/at45d.c has the > : > > > main support for dataflash. SPI infrastructure is in src/sys/dev/spi > : > > > and src/sys/arm/at91/at91_spi.c. /dev/flash/spi0, etc, appears when > : > > > these devices are active. The block size that the dataflash supports > : > > > is, alas, hard coded into at45d.c file at the moment, but I think that > : > > > most parts have at least some support in there. > : > > > > : > > > Warner > : > > > : > > /Soeren > : > > > : > : Hmm.. i can't really get started, looked through how linux is beeing booted > : via u-boot, but that doesn't seem to be the same for this board: > : http://www.mechatronicbrick.dk/index.php?option=com_content&task=view&id=13&Itemid=35 > > OK. I have a u-boot based board that I should try to get FreeBSD > booting on. Maybe a good project for the lurkers would be to document > how each of the different boot systems work and write some guidance on > how to pick the one that's right for you... > > : If i wanna test boot it at first without placing anything in flash how can i > : then make it boot, supply a patched version of bootspi or should it be boot0spi? > > If you put the board into recovery mode, you can download bootspi to > the SRAM using xmodem. It will then execute there. Once executing, > it can pull down a kernel via tftp (you'll likely have to hack the > locations in the sources). There's no bootp/dhcp client built into > these sources. > This might be a newbie question, but how do i compile bootspi: bugs# make ARCH=arm TARGET_ARCH=arm Warning: Object directory not changed from original /usr/src/sys/boot/arm/at91/bootspi cc -Os -mcpu=arm9 -ffreestanding -I/usr/src/sys/boot/arm/at91/bootspi/../libat91 -I/usr/src/sys/boot/arm/at91/bootspi/../../../.. -I/usr/src/sys/boot/arm/at91/bootspi/../../../../arm -D_KERNEL -Wall -Waggregate-return -Wnested-externs -Wpointer-arith -Wshadow -Wwrite-strings -Werror -Wmissing-prototypes -Wmissing-declarations -DBOOT_KB920X -DBOOT_COMMANDS -c /usr/src/sys/boot/arm/at91/bootspi/../libat91/arm_init.S `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. /usr/src/sys/boot/arm/at91/bootspi/../libat91/arm_init.S:0: error: bad value (arm9) for -mtune= switch *** Error code 1 Stop in /usr/src/sys/boot/arm/at91/bootspi. > : And then tftp the kernel down? and then nfs mount everything? > > The kernel can be configured to get its data via bootp, etc. These > parameters include where to boot from. > > Warner /Soeren -- Soeren Straarup | aka OZ2DAK aka Xride FreeBSD committer | FreeBSD since 2.2.6-R If a program is not working right, then send a patch
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070218180142.GC66059>