Rebuilding the Holiday – Pt3


Short-form notes on rebuilding the MooresCloud Holiday Lights from scratch and making the lights work.

This is part 3/3, it covers building the fresh OS onto a memory card.

You will need:

  • A set of the lights with serial port access (from part 1)
  • The flattened devicetree blob imx23-holiday.dtb created in part 2
  • A Linux computer (sorry Bash on Ubuntu on Windows 10 won’t cut it this time), with a serial terminal (Putty, Screen, Minicom, Cutecom, etc)
  • A microSD port or adapter for the computer (e.g. full-size SD adapter, USB microSD adapter, etc)
  • An extra memory card (microSD, 2GB or greater, Class 4 or better recommended)
  • A wireless network to which you can connect the Holiday
  • The latest Arch Linux ARM (‘ALARM’) for ARMv5 (http://os.archlinuxarm.org/os/ArchLinuxARM-armv5-latest.tar.gz)
  • The following packages from the ALARM package repository for the ‘arm’ architecture:
    • dialog
    • iw
    • libnl
    • sudo
    • uboot-olinuxino
    • wpa_supplicant

Process:

  1. Remove the original memory card from the lights and put it somewhere safe, you know, just in case
  2. Follow the OLinuXino installation guide to install the base OS onto your new memory card
  3. Before dismounting the memory card
    1. copy the downloaded packages to /root on the card
    2. copy the devicetree blob to /boot/dtbs/imx23-holiday.dtb
    3. edit /boot/uEnv.txt file and add the following line:
      fdtfile=imx23-holiday.dtb
  4. Connect your serial interface to the holiday and start your terminal (115200,8N1 no flow control)
  5. Power On!
  6. Let everything settle and login as user ‘root’ password ‘root’
  7. Set a new hostname
    hostnamectl set-hostname 'festum' # or another holiday name
  8. Install the packages
    pacman -U /root/dialog*
    pacman -U /root/libnl*
    pacman -U /root/iw*
    pacman -U /root/sudo*
    pacman -U /root/uboot*
    pacman -U /root/wpa_supplicant*
  9. You may need to set your terminal window size
    stty rows 50 columns 132 # substitute your terminal size
  10. Set up the wireless connection
    wifi-menu -o # Select your wireless network, enter your password, etc
    netctl start wlan0-YourSSID
    netctl enable wlan0-YourSSID
    visudo # remove "# " from the line "%wheel ALL=(ALL) NOPASSWD: ALL"
    reboot
  11. Log back in as user ‘alarm’ password ‘alarm’, and test sudo
    sudo -i
  12. Change the root password and lock it from normal login
    passwd
    passwd --lock root
    exit
  13. Change the alarm user password
    passwd
    exit
  14. Test logging back in as user ‘alarm’ and your new password

That’s it! You have a fresh, clean Arch Linux ARM install, ready for anything. 🙂

I haven’t done much more than this at present, other than recompile the programs from the original Holiday-Dist repository and show that the lights work.

My versions, which use the iMX23 hardware SPI port and use less processor time than the originals can be found in my Github fork: https://github.com/Froosh/holiday-dist