README 5.0 KB

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