README.nokia_rx51 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. Board: Nokia RX-51 aka N900
  2. This board definition results in a u-boot.bin which can be chainloaded
  3. from NOLO in qemu or on a real N900. It does very little hardware config
  4. because NOLO has already configured the board. Only needed is enabling
  5. internal eMMC memory via twl4030 regulator which is not enabled by NOLO.
  6. NOLO is expecting a kernel image and will treat any image it finds in
  7. onenand as such. This u-boot is intended to be flashed to the N900 like
  8. a kernel. In order to transparently boot the original kernel, it will be
  9. appended to u-boot.bin at 0x40000. NOLO will load the entire image into
  10. (random) memory and execute u-boot, which saves hw revision, boot reason
  11. and boot mode ATAGs set by NOLO. Then the bootscripts will attempt to load
  12. uImage, zImage or boot.scr from a fat or ext2/3/4 filesystem on external
  13. SD card or internal eMMC memory. If this fails or keyboard is closed then
  14. the appended kernel image will be booted using some generated and some
  15. stored ATAGs (see boot order).
  16. For generating combined image of u-boot and kernel (either in uImage or zImage
  17. format) there is a simple script called u-boot-gen-combined. It is available in
  18. following repository:
  19. https://github.com/pali/u-boot-maemo
  20. There is support for hardware watchdog. Hardware watchdog is started by
  21. NOLO so u-boot must kick watchdog to prevent reboot device (but not very
  22. often, max every 2 seconds). There is also support for framebuffer display
  23. output with ANSI escape codes and the N900 HW keyboard input.
  24. When U-Boot is starting it enable IBE bit in Auxiliary Control Register,
  25. which is needed for Thumb-2 ISA support. It is workaround for errata 430973.
  26. Default boot order:
  27. * 0. if keyboard is closed boot automatically attached kernel image
  28. * 1. try boot from external SD card
  29. * 2. try boot from internal eMMC memory
  30. * 3. try boot from attached kernel image
  31. Boot from SD or eMMC in this order:
  32. * 1.
  33. * 1.1 find boot.scr on first fat partition
  34. * 1.2 find uImage on first fat partition
  35. * 1.3 find zImage on first fat partition
  36. * 1.4 same order for 2. - 4. fat partition
  37. * 2. same as 1. but for ext2/3 partition
  38. * 3. same as 1. but for ext4 partition
  39. Available additional commands/variables:
  40. * run sdboot - Boot from external SD card (see boot order)
  41. * run emmcboot - Boot from internal eMMC memory (see boot order)
  42. * run attachboot - Boot attached kernel image (attached to U-Boot binary)
  43. * run scriptload - Load boot script ${mmcscriptfile}
  44. * run scriptboot - Run loaded boot script
  45. * run kernload - Load kernel image ${mmckernfile}
  46. * run initrdload - Load initrd image ${mmcinitrdfile}
  47. * run kernboot - Boot loaded kernel image
  48. * run kerninitrdboot - Boot loaded kernel image with loaded initrd image
  49. * run trymmcscriptboot - Try to load and boot script ${mmcscriptfile}
  50. * run trymmckernboot - Try to load and boot kernel image ${mmckernfile}
  51. * run trymmckerninitrdboot - Try to load and boot kernel image ${mmckernfile}
  52. with initrd image ${mmcinitrdfile}
  53. Additional variables for loading files from mmc:
  54. * mmc ${mmcnum} (0 - external, 1 - internal)
  55. * partition number ${mmcpart} (1 - 4)
  56. * parition type ${mmctype} (fat, ext2, ext4)
  57. Additional variables for booting kernel:
  58. * setup_omap_atag - Add OMAP table into atags structure (needs maemo kernel)
  59. * setup_console_atag - Enable serial console in OMAP table
  60. * setup_boot_reason_atag - Change boot reason in OMAP table
  61. * setup_boot_mode_atag - Change boot mode in OMAP table
  62. Variable setup_omap_atag is automatically set when booting attached kernel.
  63. When variable setup_omap_atag is set, variable setup_console_atag is unset
  64. and u-boot standard output is set to serial then setup_console_atag is
  65. automatically set to 1. So output from Maemo kernel would go to serial port.
  66. UBIFS support:
  67. UBIFS support is disabled, because U-Boot image is too big and cannot be
  68. flashed with attached zImage to RX-51 kernel nand area. For enabling UBIFS
  69. support add following lines into file configs/nokia_rx51_defconfig
  70. CONFIG_CMD_UBI=y
  71. CONFIG_CMD_UBIFS=y
  72. CONFIG_MTD_UBI_FASTMAP=y
  73. CONFIG_MTD_UBI_FASTMAP_AUTOCONVERT=1