1 Intro 2 ----- 3 The Buffalo Linkstation Pro/Live, codename LS-XHL and LS-CHLv2, is a single 4 disk NAS server. The PCBs of the LS-XHL and LS-CHLv2 are almost the same. 5 The LS-XHL has a faster CPU and more RAM with a wider data bus, therefore 6 the LS-XHL PCB has two SDRAM chips. Both have a Kirkwood CPU (Marvell 7 88F6281). The only on-board storage is a 4 Mbit SPI flash which stores the 8 bootloader and its environment. The linux kernel and the initial ramdisk 9 are loaded from the hard disk. 10 11 12 Rescue Mode 13 ----------- 14 These linkstations don't have a populated serial port. There is no way to 15 access an (unmodified) board other than using the netconsole. If you want 16 to recover from a bad environment setting or an empty environment, you can 17 do this only with a working network connection. 18 19 Therefore, on entering the resuce mode, a random ethernet address is 20 generated if no valid address could be loaded from the environment variable 21 'ethaddr' and a DHCP request is sent. After a successful DHCP response is 22 received, the network settings are configured and the ncip is unset. Thus 23 all netconsole packets are broadcasted and you can use the netconsole to 24 access board from any host within the network segment. To determine the IP 25 address assigned to the board, you either have to sniff the traffic or 26 check the logs/leases of your DHCP server. 27 28 The resuce mode is selected by holding the push button for at least one 29 second, while powering-on the device. The status LED turns solid amber if 30 the resuce mode is enabled, thus providing a visual feedback. 31 32 Pressing the same button for at least 10 seconds on power-up will erase the 33 environment and reset the board. In this case the visual indication will 34 be: 35 - blinking blue, for about one second 36 - solid amber, for about nine seconds 37 - blinking amber, until you release the button 38 39 This ensures, that you still can recover a device with a broken 40 environment by first erasing the environment and then entering the rescue 41 mode. 42 43 Once the rescue mode is started, use the ncb binary from the tools/ 44 directory to access your board. There is a helper script named 45 'restore_env' to save your changes. It unsets all the network variables 46 which were set by the rescue mode, saves your changes and then resets the 47 board. 48 49 The common use case for this is setting a MAC address. Let us assume you 50 have an empty environment, the board comes up with the amber LED blinking. 51 Then you enter the rescue mode, connect to the board with the ncb tool and 52 use the following commands to set your MAC address: 53 54 setenv ethaddr 00:00:00:00:00:00 55 run restore_env 56 57 Of course you need to replace the 00:00:00:00:00:00 with your valid MAC 58 address, which can be found on a sticker on the bottom of your box. 59 60 61 Status LED 62 ---------- 63 blinking blue 64 Bootloader is running normally. 65 66 blinking amber 67 No ethaddr set. Use the `Rescue Mode` to set one. 68 69 blinking red 70 Something bad happend during loading the operating system. 71 72 The default behavior of the linux kernel is to turn on the blue LED. So if 73 the blinking blue LED changes to solid blue the kernel was loaded 74 successfully. 75 76 77 Power-on Switch 78 --------------- 79 The power-on switch is a software switch. If it is not in ON position when 80 the bootloader starts, the bootloader will disable the HDD and USB power 81 and stop the fan. Then it loops until the switch is in ON position again, 82 enables the power and fan again and continue booting. 83 84 85 Boot sources 86 ------------ 87 The environment defines several different boot sources: 88 89 legacy 90 This is the default boot source. It loads the kernel and ramdisk from the 91 attached HDD using the original filenames. The load addresses were 92 modified to support loading larger kernels. But it should behave the same 93 as the original bootloader. 94 95 hdd 96 Use this for new-style booting. Loads three files /vmlinuz, /initrd.img 97 and /dtb from the boot partition. This should work out of the box if you 98 have debian and the flash-kernel package installed. 99 100 usb 101 Same as hdd expect, that the files are loaded from an attached USB mass 102 storage device and the filename for the device tree is kirkwood-lsxhl.dtb 103 (or kirkwood-lschlv2.dtb). 104 105 net 106 Same as usb expect, that the file are loaded from the network. 107 108 rescue 109 Automatically activated if the push button is pressed for at least one 110 second on power-up. Does a DHCP request and enables the network console. 111 See `Rescue Mode` for more information. 112 113 You can change the boot source by setting the 'bootsource' variable to the 114 corresponding value. Please note, that the restore_env script will the the 115 bootsource back to 'legacy'. 116 117 118 Flash map 119 --------- 120 00000 - 5ffff u-boot 121 60000 - 6ffff reserved, may be used to store dtb 122 70000 - 7ffff u-boot environment 123 124 125 Compiling 126 --------- 127 make lsxhl_config (or lschlv2_config) 128 make u-boot.kwb 129 130 131 Update your board 132 ----------------- 133 Just flash the resulting u-boot.kwb to the beginning of the SPI flash. If 134 you already have a bootloader CLI, you can use the following commands: 135 136 sf probe 0 137 bootp ${loadaddr} u-boot.kwb 138 sf erase 0 +${filelen} 139 sf write 0 ${fileaddr} ${filesize} 140