Arch Linux on DARwIn OP - UPenn-RoboCup/UPennalizers GitHub Wiki

NOTE: This will destroy all data on the DARwIn-OP

Download the Arch Linux Core Installation Media. This installation was performed using the August, 2011 Release

  • Put the installation media on a USB stick

  • Boot the DARwIn-OP from the LiveUSB

    • You can use the automatic partitioning tool if you like. This was our configuration, using the manual tool:

[<-- 50MB; Filesystem: ext4; Mountpoint: /boot-->][<-- 200MB swap -->][<-- Remaining Space; Filesystem: ext4; Mountpoint: / -->]

  • In addition to the default package set for core, choose base-dev as well as base. Select these packages:

    • netcfg
    • wireless_tools
    • pacman-mirrorlist
    • sudo
  • Deselect these packages:

    • ppp
    • lvm2
  • After copying files:

    • Choose the Virginia Tech mirror in mirror-list
    • Set root password
  • Reboot doesn't work for some kernels, so just shutdown

    • Login as root
    • visudo
      • Uncomment the line near the end with wheel in it - people in the wheel group can use sudo
  • Add a New User

    • useradd -m -g users -G wheel darwin
    • passwd darwin
    • exit
    • login as darwin
  • Setup Networking

    • sudo nano /etc/rc.local
    • Set up networking with these lines: eth0="eth0 192.168.123.1 netmask 255.255.255.0 broadcast 192.168.123.255" INTERFACES=(eth0,wlan0) WIRELESS_INTERFACE="wlan0"

gateway="default gw 191.168.0.1" ROUTES=(!gateway)

  • Perform a system upgrade to get all the latest and greatest software. Important Note
    • sudo rm /etc/profile.d/locale.sh
    • sudo pacman -Syu

Supporting Programs

  • Install yaourt for easier package management and access to more packages

  • Add SSH for connecting to the robot

    • sudo pacman -Syu > To update pacman to see the latest packages
    • yaourt -S openssh
    • Ensure X11 forwarding works so that guvcview works over ssh.
      • Copy ~/.Xauthority to /root/ so you can run sudo guvcview
      • Other Resources: A Blog, Gentoo Wiki
  • Camera debugging

    • yaourt -S guvcview
    • yaourt -S ttf-dejavu
  • Screen Sessions

    • yaourt -S screen
  • Button press shutdown

    • yaourt -S acpid
  • [UNSUPPORTED] VNC support is unsupported, but you may investigate it

    • We had some success with tigervnc: yaourt -S tigervnc

UPennalizers Codebase

  • Install the necessary libraries

    • yaourt -S boost espeak
    • yaourt -S lua
  • For faster code executing with less debugging information, install luajit

    • yaourt -S luajit
  • You can just install luajit, too

    • cd /usr/include
    • sudo ln -s luajit-2.0 lua
    • cd /usr/bin
    • sudo ln -s luajit lua
  • Add darwin to the uucp group (for ttyUSB0 access)

    • gpasswd -a darwin uucp
  • Edit the hostname to be the robot's name (betty, felix, linus, lucy, scarface, jiminy, etc.)

    • in /etc/rc.conf
    • in /etc/hosts
  • Download and install the latest code base

  • Make code run on startup

    • edit /etc/rc.local per the instructions in the Player/startup.sh file

Robotis Codebase

  • Right now, there is no full download of the code, excepting SVN. Acquire the code as directed in Code Management

Code Management on the Robot

Tweaks

udevadm info -a -p $(udevadm info -q path -n ttyUSB0) | egrep -i "ATTRS{serial}|ATTRS{idVendor}|ATTRS{idProduct}" -m 3 Put the below in the /etc/udev/rules.d/52-ftdi.rules file SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A8005iMK", SYMLINK+="cm730"

TODO

Try Awesome with lua

Notes

  1. ifconfig is no longer used
  2. The fitpc2 has problems with rebooting, Kernel Bugzilla
  3. Upgrade issues
  4. Upgrade issues