123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- Intro
- -----
- The Buffalo Linkstation Pro/Live, codename LS-XHL and LS-CHLv2, is a single
- disk NAS server. The PCBs of the LS-XHL and LS-CHLv2 are almost the same.
- The LS-XHL has a faster CPU and more RAM with a wider data bus, therefore
- the LS-XHL PCB has two SDRAM chips. Both have a Kirkwood CPU (Marvell
- 88F6281). The only on-board storage is a 4 Mbit SPI flash which stores the
- bootloader and its environment. The linux kernel and the initial ramdisk
- are loaded from the hard disk.
- Rescue Mode
- -----------
- These linkstations don't have a populated serial port. There is no way to
- access an (unmodified) board other than using the netconsole. If you want
- to recover from a bad environment setting or an empty environment, you can
- do this only with a working network connection.
- Therefore, on entering the resuce mode, a random ethernet address is
- generated if no valid address could be loaded from the environment variable
- 'ethaddr' and a DHCP request is sent. After a successful DHCP response is
- received, the network settings are configured and the ncip is unset. Thus
- all netconsole packets are broadcasted and you can use the netconsole to
- access board from any host within the network segment. To determine the IP
- address assigned to the board, you either have to sniff the traffic or
- check the logs/leases of your DHCP server.
- The resuce mode is selected by holding the push button for at least one
- second, while powering-on the device. The status LED turns solid amber if
- the resuce mode is enabled, thus providing a visual feedback.
- Pressing the same button for at least 10 seconds on power-up will erase the
- environment and reset the board. In this case the visual indication will
- be:
- - blinking blue, for about one second
- - solid amber, for about nine seconds
- - blinking amber, until you release the button
- This ensures, that you still can recover a device with a broken
- environment by first erasing the environment and then entering the rescue
- mode.
- Once the rescue mode is started, use the ncb binary from the tools/
- directory to access your board. There is a helper script named
- 'restore_env' to save your changes. It unsets all the network variables
- which were set by the rescue mode, saves your changes and then resets the
- board.
- The common use case for this is setting a MAC address. Let us assume you
- have an empty environment, the board comes up with the amber LED blinking.
- Then you enter the rescue mode, connect to the board with the ncb tool and
- use the following commands to set your MAC address:
- setenv ethaddr 00:00:00:00:00:00
- run restore_env
- Of course you need to replace the 00:00:00:00:00:00 with your valid MAC
- address, which can be found on a sticker on the bottom of your box.
- Status LED
- ----------
- blinking blue
- Bootloader is running normally.
- blinking amber
- No ethaddr set. Use the `Rescue Mode` to set one.
- blinking red
- Something bad happend during loading the operating system.
- The default behavior of the linux kernel is to turn on the blue LED. So if
- the blinking blue LED changes to solid blue the kernel was loaded
- successfully.
- Power-on Switch
- ---------------
- The power-on switch is a software switch. If it is not in ON position when
- the bootloader starts, the bootloader will disable the HDD and USB power
- and stop the fan. Then it loops until the switch is in ON position again,
- enables the power and fan again and continue booting.
- Boot sources
- ------------
- The environment defines several different boot sources:
- legacy
- This is the default boot source. It loads the kernel and ramdisk from the
- attached HDD using the original filenames. The load addresses were
- modified to support loading larger kernels. But it should behave the same
- as the original bootloader.
- hdd
- Use this for new-style booting. Loads three files /vmlinuz, /initrd.img
- and /dtb from the boot partition. This should work out of the box if you
- have debian and the flash-kernel package installed.
- usb
- Same as hdd expect, that the files are loaded from an attached USB mass
- storage device and the filename for the device tree is kirkwood-lsxhl.dtb
- (or kirkwood-lschlv2.dtb).
- net
- Same as usb expect, that the file are loaded from the network.
- rescue
- Automatically activated if the push button is pressed for at least one
- second on power-up. Does a DHCP request and enables the network console.
- See `Rescue Mode` for more information.
- You can change the boot source by setting the 'bootsource' variable to the
- corresponding value. Please note, that the restore_env script will the the
- bootsource back to 'legacy'.
- Flash map
- ---------
- 00000 - 5ffff u-boot
- 60000 - 6ffff reserved, may be used to store dtb
- 70000 - 7ffff u-boot environment
- Compiling
- ---------
- make lsxhl_config (or lschlv2_config)
- make u-boot.kwb
- Update your board
- -----------------
- Just flash the resulting u-boot.kwb to the beginning of the SPI flash. If
- you already have a bootloader CLI, you can use the following commands:
- sf probe 0
- bootp ${loadaddr} u-boot.kwb
- sf erase 0 +${filelen}
- sf write 0 ${fileaddr} ${filesize}
|