?? readme
字號:
(emacs users can use -*- outline -*- mode for this file)$Id: README,v 1.4 2001/08/30 08:45:45 erikm Exp $* Info======** What is blob?----------------Blob is the Boot Loader OBject, the boot loader for the LART. Blob isable to boot a Linux kernel stored in flash or RAM and provide thatkernel with a ramdisk (again from flash or RAM).Blob is copyrighted by Jan-Derk Bakker and Erik Mouw. Blob is releasedwith a slightly modified GNU GPL license: we don't consider theoperating systems that blob boots as a derived work. Later on, severalother people also contributed to blob.Blob started its life as a boot loader for the LART, but nowadays ithas been ported to the Intel Assabet SA-1110 evaluation platform, theIntel Brutus SA-1100 evaluation platform, the PLEB board, the Nesaboard, the TuxScreen (aka Shannon), and to the CreditLART board.** Where is the latest blob source available?---------------------------------------------The latest and greatest blob source is available from SourceForge, seehttp://www.sourceforge.net/projects/blob/ . The latest source isavailable from anonymous CVS. First log in to the CVS server: cvs -d:pserver:anonymous@cvs.blob.sourceforge.net:/cvsroot/blob loginThere is no password, so just press enter. Now check out the blob source: cvs -z3 -d:pserver:anonymous@cvs.blob.sourceforge.net:/cvsroot/blob co blobIf you're using the blob CVS source, it's a good idea to subscribe tothe blob-cvs-commit mailing list so you know about blob patches. Seehttp://lists.sourceforge.net/lists/listinfo/blob-cvs-commit . Thegeneral blob discussion is done on the LART mailing list, seehttp://www.lart.tudelft.nl/list/ for more information.Blob also has a home page: http://www.lart.tudelft.nl/lartware/blob/ .** So what is LART?-------------------LART is the Linux Advanced Radio Terminal, a small low power computingelement used in the MMC project and the Ubiquitous Communicationsprogramme (see http://www.lart.tudelft.nl, http://www.mmc.tudelft.nl,and http://www.ubicom.tudelft.nl ).LART features:- 10x7.5 cm (that's 4x3 inch in Stonehenge Units)- 220 MHz Digital StrongARM SA-1100 CPU- 4 Mbyte flash memory- 32 Mbyte DRAM memory- Low power: peak power consumption is 1W* Building blob===============** Prerequisites----------------- A native ARM/StrongARM Linux system with gcc 2.95.2, and binutils 2.9.5.0.22 or better- Or any UNIX system with cross compiling binutils 2.9.5.0.22 (or better) and gcc 2.95.2 installed- GNU make (although some vendor supplied make utilities will do)- GNU autoconf and automake (if you build blob from CVS)- A Linux kernel source tree: the latest linux-2.4.* kernel will usually do. If not, apply the appropriate -rmk patch (see the LART website for details). Linux-2.2.* kernels will NOT work, but it's considered obsolete for arm-linux anyway.We tested blob with a native system (Corel/Rebel Netwinder) and withseveral i386-linux to arm-linux cross compiler systems, but the GNUtools are that good that we don't think that a sun-sparc-solaris toarm-linux cross compiler will fail.** Generating configure and Makefiles-------------------------------------This step is only necessary if you build blob from CVS.- Run "tools/rebuild-gcc" ttwwiiccee** Configuring and compiling the package----------------------------------------With a cross compiler tool chain (using tcsh as shell):- setenv CC /path/to/cross/gcc- setenv OBJCOPY /path/to/cross/objcopy- Run "./configure --with-linux-prefix=/path/to/armlinux/source \ --with-board=boardname arm-unknown-linux-gnu" There are currently a couple of valid board names, choose from: assabet, brutus, creditlart, lart, nesa, pleb, or shannon. If the board name is ommited, lart will be chosen as a default. If you want to do some serious hacking on blob, consider using the "--enable-maintainer-mode" flag. This will automatically regenerate Makefiles and configure scripts if you change the source files. You need autoconf (>= 2.13) and automake (>= 1.4) for this feature.- Run "make"If you use the bash shell, use "export FOO=bar" instead of"setenv FOO bar".With a native ARM Linux tool chain:- Run "./configure --with-board=boardname" - Run "make"The binary image is in src/blob; src/blob-start-elf32 andsrc/blob-rest-elf32 are the two parts of the images with complete ELFheaders. To disassemble "blob-start-elf32", use: arm-linux-objdump -D -S blob-start-elf32To see the actual hex codes of blob, use: od -t x4 blob** Installing-------------*** LART--------The current wisdom to install blob on a LART is:- Connect the JTAG dongle to the LART- Connect the other end of the JTAG dongle to the parallel port of your PC- Power up the LART- Use the jflash utility (available from the LART web site) to write blob (you usually need to be root for this): jflash blobThe JTAG flash burn code however is now worked out as a set of Linuxexecutables provided by the JTAG flash project located at the LART pageas well as JTAG executables ported to support the TuxScreen screen phone.The LART project initially used the following wisdom to install blob:Required hardware & software:- The LART itself with 4 Mbyte flash memory- An external 128 kbyte flash board- A PCI 7200 (???) digital I/O card with a Linux driver- A flash burn program for this I/O cardThe external flash board is connected to the PCI 7200 card and blob iswritten into the flash memory using the flash burn program. Theexternal flash board is connected to the LART low speed interface. Theexternal flash chip is mapped at address 0x00000000, and the internalflash is re-mapped at 0x08000000. As soon as the LART boots, theexternal flash is copied to the first 128 kbyte of the internalflash. The next time the LART is started without external flash board,it starts from its internal flash which now contains the justdownloaded blob.Why this strange way to download blob? We first tried to use theSA-1100 JTAG interface to program the flash directly, but soon foundout that it would take weeks to write a decent JTAG tool because JTAGis a real brain-damaged protocol (it was designed by a committee, needwe say more?). To meet a deadline, we decided to make a special boardwith 128 kbyte external flash memory (and an LCD interface).*** Assabet-----------(From Justin Seger:) The best way is to use the JTAG cable:- Connect the JTAG cable from the Assabet to your hosts parallel port- Power up the Assabet- Use the jflash utility to write blob: jflash-linux blob- Power cycle the Assabet; you should see the the bootloader starting up with the output on the serial port.*** SHANNON (TuxScreen phone)-----------The idea is to write the SHANNON flash via the jflash utility in muchthe same way as you would do it on LART or Assabet.** Making a distribution------------------------This is only needed when you want to make a tar file from the currentblob sources.- First configure the package- Run "make dist"* Using blob============** Booting----------First connect a terminal (or a terminal emulator like miniterm orSeyon) to the serial port. Use the following settings for yourterminal: 9600 baud, 8 data bits, no parity, 1 stop bit, no start bits(9600 8N1, a pretty standard setting for Unix systems). If possible,use VT100 terminal emulation. Switch on the power to the SA-11x0board. The board should respond with: Consider yourself LARTed! blob version 2.0.3 Copyright (C) 1999 2000 2001 Jan-Derk Bakker and Erik Mouw Copyright (C) 2000 Johan Pouwelse blob comes with ABSOLUTELY NO WARRANTY; read the GNU GPL for details. This is free software, and you are welcome to redistribute it under certain conditions; read the GNU GPL for details. Memory Map: 0x08000000 @ 0xC0000000 (8MB) 0x08000000 @ 0xC1000000 (8MB) 0x08000000 @ 0xC8000000 (8MB) 0x08000000 @ 0xC9000000 (8MB) Loading blob from flash . done Loading kernel from flash ....... done Loading ramdisk from flash ............... done Autoboot in progress, press any key to stop ...If you don't press a key within 10 seconds, blob will automaticallystart the Linux kernel: Starting kernel ... Uncompressing Linux...done. Now booting the kernel ...However, if you press the <enter> key, you will get the blobprompt: Autoboot aborted Type "help" to get a list of commands blob> ** Commands-----------Blob knows several commands, typing "help" (without the ") will showyou which: Help for blob 2.0.3, the LART bootloader The following commands are supported: * boot [kernel options] Boot Linux with optional kernel options * clock PPCR MDCNFG MDCAS0 MDCAS1 MDCAS2 Set the SA1100 core clock and DRAM timings (WARNING: dangerous command!) * download {blob|kernel|ramdisk} Download blob/kernel/ramdisk image to RAM * flash {kernel|ramdisk} Copy blob/kernel/ramdisk from RAM to flash * help Get this help * reblob Restart blob from RAM * reboot Reboot system * reload {blobkernel|ramdisk} Reload blob/kernel/ramdisk from flash to RAM * reset Reset terminal * speed Set download speed * status Display current status*** "boot"----------Boot the Linux kernel. You can supply extra parameters to the Linuxkernel; if you don't, the kernel will use it's default commandline. Blob will respond with: blob> boot Starting kernel ...
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -