The netconsole version just gives serial-like connection over the network... that's its only function. ... but it does pretty much completely open up the box w/o you physically opening it up. That is, you can perform the same starts/stops/manipulations of the boot process that one would w/ serial connection, but without the need for a serial header, cable or opening the box physically.
If you are sure you can assume your own risk of doing this and you have read up on netcat, taken into consideration the network changes that might be necessary (in the README ... I copied it below), then pm me w/ your email address and I'll email you a copy of it.
April 12 2008
README for Netconsole-enabled U-Boot 1.1.4 for the LS-GL
u-boot114patchesbasicv12.bin - 240kb image for uboot
u-boot114patchesbasicv12-full.bin - full 256k image for uboot
What it is:
This is a early prototype of a Netconsole-enabled U-Boot for LS-GL. It fulfills the basic need for access to UBoot without having to open up your box and attach a serial cable. It works well with LSPro V2, and should work with the stock firmware or jtymod without any modification. I would guess that it will also work with FreeLink as well, but haven't tried it so you're on your own on that. It will work fine with foonas and foonas-em. It also works with LSPro V1, though you might have to adjust env vars.
It is functional and so far (knock on wood) not a brickmaker (after about 3 weeks of testing/abuse). If you are able to brick your box with it with normal operation/use, please send me the steps you used so I can replicate the bricking/confirm the problem and try to fix it.
As such, it is a starting point, and hopefully enough members in the community will find reason to either develop it further, or make a clean break and create a truly clean port of UBoot (which would be nicer yet).
What it isn't:
It isn't original code, but rather just a port of the Buffalo 109 version (based on UBoot 1.1.1) to UBoot 1.1.4, along with Netconsole being enabled, more commands turned on, and some utility scripts/env vars hard coded in. Some of the ideas are taken from LNI's patches for the PPC UBoot.
If you are looking for the much-awaited clean (non-Marvell, non-Buffalo) port of UBoot, this isn't it. If you want that, I encourage you to build it, and please share it with the rest of the community and me
. A clean port of UBoot to the ARM machines is my first choice, but is way beyond what I am able to commit in time and energy.
It isn't perfect and isn't polished. There are a few places for improvement in interface, performance (wait times) and integration with the external buttons. Please see the later section "Quirks/Stuff to try to change/add:"
Thanks to bbradley (for giving good advice and suggestions on both uboot and jtag), jonli447 (for his work back in 2007 with the GPL source), and lb_worm (who remembered what had been done w/ jtag and uboot earlier). Also, thanks to linuxnotincluded (LNI) for the PPC UBoot port, which set the standard.
*All the functions of the Buffalo 109 UBoot
*Netconsole (on by default)
*Serial connection (only by executing "run ser" while in netconsole)
*Automatic fallback to tftp_booting if no bootable system is found
*Some very basic scripts for setting env vars for foonas (or other distros w/ root & kernel on /dev/sda1):
fooboot - boot foonas from hdd
foobootem - boot foonas-em from tftp (serverip 192.168.11.149)
envfoohdd - set env var 'bootcmd' for foonas hdd booting
envfooem - set env var 'bootcmd' for foonas-em tftp booting
envreset - reset env vars to stock defaults (for stock Buffalo firmware/OS booting or FreeLink-ARM)
Note: Execute these by issuing "run fooboot", etc.
*Commands (a handful more than in Buff 109):
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
boot end .
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
bubt - Burn an image on the Boot Flash.
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
cpumap - Display CPU memory mapping settings.
crc32 - checksum calculation
date - get/set/reset date & time
dhcp - invoke DHCP client to obtain IP/boot params
diskboot- boot from IDE device
echo - echo args to console
erase - erase FLASH memory
ext2load- load binary file from a Ext2 filesystem
ext2ls- list files in a directory (default /)
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
ide - IDE sub-system
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loop - infinite loop on address range
md - memory display
micon -command(2byte hex) -data(witin 32byte hex)
mm - memory modify (auto-incrementing)
mtest - simple RAM test
mw - memory write (fill)
nm - memory modify (constant address)
pci - list and access PCI Configuration Space
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
security -device -command -options -password
setenv - set environment variables
shutdown - Poff .
tftpboot- boot image via network using TFTP protocol
version - print monitor version
Installation, Flashing & JTAG:
At your own risk, of course and since this is beta, you really shouldn't do it without access to JTAG
< http://buffalo.nas-central.org/index.ph ... for_LS-Pro
Directions for flashing this are on the article page
< http://buffalo.nas-central.org/index.ph ... our_LS_Pro
Your workstation must be have an IP of 192.168.11.149, and you should have nc (netcat) running, perhaps with something to the effect of:
nc -u -p 6666 -v 192.168.11.150 6666
The LSPro should be connected in the normal way to your network. When you start up your LSPro, after about 5-10 seconds you will see
If you want to pause booting, you can press <return> 3 times right now, or just let it autoboot. There are some autoboot-stop prompts, but they seem to act quirky so, it sometimes works better just to use the returns after egiga0. After that, something like:
_____ _____ _____ _____ _ _
| | | _ | __|___| |___ ___| |_ ___ ___| | ___ ___ ___
| | | | |__ |___| --| -_| | _| _| .'| |_| . | _| . |
|_|___|__|__|_____| |_____|___|_|_|_| |_| |__,|_|_|___|_| |_ |
Using 88E1118 phy
Marvell Serial ATA Adapter
Integrated Sata device found
Device 0: OK
Model: WDC WD2500JD-00HBC0 Firm: 08.02D08 Ser#: WD-WCAL77520516
Type: Hard Disk
Supports 48-bit addressing
Capacity: 238475.1 MB = 232.8 GB (488397168 x 512)
Using device ide0, partition 1
Loading from block device ide device 0, partition 1: Name: hda1
Type: U-Boot File:/boot/uImage
2282096 bytes read
Using device ide1, partition 1
** Bad partition 1 **
Booting from Device 0
hit any key to switch tftp boot.
Hit any key to stop autoboot: 0
switched to TFTP boot.
Hit any key to stop autoboot: 0
Search_Boot and No initrd warning:
Normal behavior for Buffalo's UBoot 109 is to look for the file specified by the env var 'initrd' on the hdd. If that can't be found, it will attempt to autoboot via tftp whatever is defined by the env var 'def_tftp'. By altering these two variables and the additional variable 'bootcmd', one can customize the booting behavior of the LSPro and keep the ability for UBoot to automatically search attached hard drives for a bootable system, and also automatically fall back to EM booting when no hdd filesystem is present.
Quirks/Stuff to try to change/add:
*Behavior for stopping at the auto-boot prompts is sometimes inconsistent. It would be nice if it was more smooth. Three returns after seeing 'egiga0' is the current workaround for this.
*A miniconsole feature using the power button for boot mode selection, and the reset button for netconsole<->serial console switching would be ideal.
*nfs support needs to be turned on.
*Autosensing for the serial connection would be nice, so that if a serial cable is connected, all output would be automatically sent via serial instead of netconsole.
*The irritating hi-lo tftp-alarm that is normally started when no initrd is found has been disabled. Disabling this has two effects: 1) silencing the shrill siren tone that one would hear on the stock uboot if no initrd is found, and 2) keeping the box from powering down after 5 minutes if no initrd is found at startup. Please tell me if you feel this should be turned back on, as it might be of some benefit. We may be able to change the tone/volume/length of the alarm, as well as including the keepalive signal in the alarm routine (or disabling the code that causes it to power down after 5 minutes in this case).
Additions to this list are welcome, as well as solutions and patches.
Dave Purdy (davygravy)