1. SD cards

SD card         Identification  Size    OS
-------         --------------- -----   -----------------
RS              Raspberry Pi OS  4 GB   Raspbian "Wheezy"
Kingston        SDHC 4           4 GB   -
Kingston        SDHC 4           8 GB   -
Kingston        SDHC 4           8 GB   -
SanDisk         Ultra II        16 GB   arkOS 2013-10-19
SanDisk         SDHC Card       32 GB   Raspbian "Wheezy" 2013-09-xx

2. Installation of Raspberry Pi with Raspbian on Debian Desktop

  • Start VirtualBox.

  • Right-click the Debian Desktop 7 - Master virtual machine and select Clone.

  • Type Debian Desktop 7 - Raspberry Pi for the virtual machine name.

  • Check Reinitialize the MAC address of all network cards.

  • Click Next.

  • Choose Full clone.

  • Click Clone.

  • Wait

  • Close VirtualBox.

  • Start VirtualBox.

  • Start the Debian Desktop 7 - Raspberry Pi virtual machine.

  • Log in as user.

sudo apt-get install qemu
mkdir ~/raspbian
cd ~/raspbian
wget xecdesign.com/downloads/linux-qemu/kernel-qemu
unzip '/media/sf_D_DRIVE/Software/Raspberry Pi/2013-09-25-wheezy-raspbian.zip'
vdir
file 2013-09-25-wheezy-raspbian.img
qemu-system-arm -kernel kernel-qemu -cpu arm1176    -M versatilepb -no-reboot -append "root=/dev/sda2 panic=1" -hda 2013-09-25-wheezy-raspbian.img      <????>
qemu-system-arm -kernel kernel-qemu -cpu arm1136-r2 -M versatilepb -no-reboot -append "root=/dev/sda2 panic=1" -hda 2013-09-25-wheezy-raspbian.img      <????>
???
sudo raspi-config

startx
  • Shutdown the virtual machine.

  • Close VirtualBox.

3. Hardware Information

Raspberry Pi (c) 2011.12
Model B (512 MB RAM)
IC2:            Broadcom BCM2835 Processor + RAM
IC3:            USB 2.0 Hub and 10/100 Ethernet Controller

Board Ver:      BH1308
C6:             K2 220 16H
Ethernet:       HanRun HR901110A 1247
IC2:            Hynix H9TKNNN4GDMP LRNDM 305A
IC3:            SMSC LAN9512-JZX B1302-A1B17 302PPVA ASE-TW     eth0    b8:27:eb:2f:e3:f1
IC3:            SMSC LAN9512-JZX B1303-A1B17 303VMVA ASE-TW     eth0    b8:27:eb:9d:5e:e0
MPN:            E1213RS2V13B1.0
RG2:            SE8117T33 1244-LF

3.1. Monitoring power consumption of USB devices

sudo lsusb -v | grep -E '^Bus|MaxPower'
Device                  Brand                   Model                   ID              Power           Power
----------------        ---------------------   -----------------       ---------       --------        -----
USB Hub                 Terminus Technology     ???                     1a40:0101                       100mA
USB Keyboard            Dell                    SK-8115                 413c:2003       5V/100mA         70mA
USB Keyboard            Dell                    KB212-B / KB4021        413c:2107       5V/50mA         100mA
USB Keyboard            Logitech                K120                    046d:c31c       5V/100mA         90mA
USB Keyboard            Oker                    KB-377                  04d9:1503       -               100mA
USB Keyboard            Pleomax                 PKB-700B                0b38:0010       5V/40mA         100mA
USB Mouse               CLiPtec / Trust         Ego RZS974              15d9:0a4c       5V/100mA        100mA
USB Mouse               Elan Microelectronics   CHiC M1                 04f3:0230       -               100mA
USB Mouse               Logitech                M 100 / M-U0004         046d:c05b       5V/100mA         98mA
USB Mouse               SiGma Micro             MT-AD1                  1c4f:0034       5V/100mA         98mA
USB Wifi Adapter        EnGenius                EUB9707                 1740:9707       -               450mA   Senao
USB Wifi Adapter        MSI                     US300EX Lite            148f:3070       -               450mA   Ralink RT2870/RT3070
USB Wifi Adapter        TP-LINK                 TL-WN723N Ver:2.2       0bda:8176       -               500mA   Realtek RTL8188CUS
USB Wifi Adapter        TP-LINK                 TL-WN723N Ver:3.x       0bda:8179       -               500mA   Realtek
USB Wifi Adapter        TP-LINK                 TL-WN725N Ver:2.0       0bda:8179       -               500mA   Realtek
USB Wifi Adapter        TP-LINK                 TL-WN727N Ver:3.2       148f:5370       -               450mA   Ralink RT5370
USB Wireless Kbd        Logitech                                        046d:c52f       -                98mA   Logitech, Inc. Unifying Receiver

4. Partition Resize

  • Note: First you need to change the partition table with fdisk. You need to remove the existing partition entries and then create a single new partition that takes the whole free space of the disk. This will only change the partition table, not the partitions data on disk. The start of the new partition needs to be aligned with the old partition!

sudo fdisk -c -u /dev/mmcblk0
# Type "p" to print the current partition table and press *Enter*.
# Type "d" to delete a partition and press *Enter*.
# Type "2" to delete the main Linux partition and press *Enter*.
# Type "p" to print the current partition table and press *Enter*.
# Type "n" to add a new partition and press *Enter*.
# Type "p" to add a primary partition and press *Enter*.
# Type "2" to set the partition number and press *Enter*.
# Type "" for the first sector and press *Enter*.
# Type "" for the last sector and press *Enter*.
# Type "w" to write the partition table to disk and press *Enter*.
sudo shutdown -r now
sudo resize2fs /dev/mmcblk0p2
# Wait.
sudo df -h

5. Emulation

mkdir ~/qemu_vms
file ~/qemu_vms/2013-02-09-wheezy-raspbian.img
2013-02-09-wheezy-raspbian.img: x86 boot sector;
partition 1: ID=0xc, starthead 130, startsector 8192, 114688 sectors;
partition 2: ID=0x83, starthead 165, startsector 122880, 3665920 sectors, code offset 0xb8
  • From the output of the file command, take the partition 2 'startsector' value and multiply by 512, and use this figure as the offset value in the mount command below (122880 * 512 = 62914560).

sudo mount ~/qemu_vms/2013-02-09-wheezy-raspbian.img -o offset=62914560 /mnt
  • Comment out the "/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so" line in the /mnt/etc/ld.so.preload file.

sudo umount /mnt
cd ~/qemu_vms
wget http://xecdesign.com/downloads/linux-qemu/kernel-qemu
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1" -hda ~/qemu_vms/2013-02-09-wheezy-raspbian.img -redir tcp:5022::22
  • Select QEMU Terminal.

fsck /dev/sda2
shutdown -r now
# Log in as pi.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoremove

startx
  • Select Finish.

6. Arch Linux ARM

6.1. Configuration

  • Power up the Raspberry Pi.

  • Press Ctrl+Alt+F2.

  • Press Ctrl+Alt+F3.

  • Log in as root.

passwd
# Type the level l1 password and press Enter.
# Type the level l1 password and press Enter.
useradd -m -g users -G wheel,storage,power -s /bin/bash smru
passwd smru
# Type the level l2 password and press Enter.
# Type the level l2 password and press Enter.
exit
  • Log in as user.

  • Install sudo.

pacman -S sudo
visudo
%wheel ALL=(ALL) ALL
date
sudo date --set YYYY-MM-DD" to adjust the date and press *Enter*.
sudo date --set HH:MM" to adjust the time and press *Enter*.
date
cat /etc/timezone
# Replace "Europe/London" by "Asia/Bangkok" in the /etc/timezone file.
cat /etc/os-release
uname -a
Linux alarmpi 3.6.11-6-ARCH+ #1 PREEMPT Mon Feb 11 02:33:03 UTC 2013 armv6l GNU/Linux

Configuration of wireless:

lsusb
lsmod
cd /etc/wpa_supplicant
sudo cp -a wpa_supplicant.conf wpa_supplicant.conf.orig
 wpa_passphrase SMRU-Dev <password> > /tmp/secret
  • Type the password and press Enter.

  • Append the following lines to the /etc/wpa_supplicant/wpa_supplicant.conf file.

network={
    ssid="SMRU-Dev"
    key_mgmt=WPA-PSK
    proto=WPA RSN
    pairwise=TKIP CCMP
    group=TKIP CCMP
    psk=<passphrase>
    id_str="SMRU Development"
}
rm /tmp/psk
sudo cp -a /etc/network.d/wireless-wpa /etc/network.d/wireless-wpa.orig
  • Adjust the following settings in the /etc/network/wireless-wpa file.

ESSID='SMRU-Dev'
sudo systemctl restart networking       ?
sudo ifconfig -a
sudo wpa_cli status
ping www.google.com

7. arkOS

7.1. Configuration

  • Log in as root.

  • Type root for the password and press Enter.

passwd
# Type the level l1 password and press Enter.
# Type the level l1 password and press Enter.

cp -a /boot /boot.orig
"cp -a /etc /etc.orig

journalctl | grep -Ei --color 'brok|crit|erro|fail|warn'
dmesg | grep -Ei --color 'brok|crit|erro|fail|warn'
dmesg | grep -Ei --color 'rename'

ip addr list
cat /etc/resolf.conf
ping www.google.com

netctl status ethernet
netctl start ethernet   ?

Configuration of ethernet network

  • Log in as root.

cp -a /etc/netctl/ethernet /etc/netctl/ethernet-static
  • Change the IP='dhcp' line to IP='static' in the /etc/netctl/ethernet-static file.

  • Add the following lines to the /etc/netctl/ethernet-static file.

Address=('10.10.1.212/24')
Gateway='10.10.1.170'
DNS=('10.10.1.1')

Address=('192.168.1.212/24')
Gateway='192.168.1.1'
DNS=('192.168.1.1')
netctl disable ethernet
netctl enable ethernet-static
  • Restart the computer.

  • Log in as root.

ip addr list
cat /etc/resolf.conf
ping www.google.com
netctl status ethernet-static

Configuration of SSH server

  • Log in as root.

cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
systemctl enable sshd.service

Configuration of repositories

  • Log in as root.

cp -a /etc/pacman.conf /etc/pacman.conf.orig
cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
pacman -Syu

Configuration of Genesis

Username:                               admin
Password:                               admin
  • Click Login.

  • Click OK.

New username:
Password:                               ********        (level 2)
Password again:                         ********        (level 2)
  • Click OK.

Password:                               ********        (level 1)
Re-enter password:                      ********        (level 1)
  • Click OK.

Set hostname:                           arkos
Set timezone:                           Asia/Bangkok
Expand arkOS to fit SD card?            +
Optimize graphical memory?              +
Allow SSH as Root?                      -
  • Click OK.

□ Database-MariaDB                      Add MariaDB support to Databases
□ Database-SQLite3                      Add SQLite3 support to Databases
□ Execute                               Execute commands remotely
□ File Manager                          Simple remote file manager
□ File Shares (Windows)                 Add, remove and manage Samba (SMB/CIFS) shares
□ Filesystems                           Edit file system record
□ Jekyll                                Run a statically-generated website or blog
□ Notepad                               Note creator and config files editor
□ Package Manager                       Install, update and remove applications on your system
□ Scheduled Tasks                       Manage scheduled tasks and system automation
■ Secure Shell (SSH)                    Change SSH settings and manage public keys
□ System Users                          Modify Unix system user accounts
□ Task Monitor                          View and/or kill running processes
■ Terminal                              Remote VT100 command line from your browser window
□ Transmission (BitTorrent client)      Manage Transmission headless Bittorrent client
□ WordPress                             Host a blog with WordPress CMS
□ ownCloud                              Host calendar, files, contacts, and sync across devices
  • Click Download and install.

  • Click Certificates.

  • Click Generate certificate.

Certificate name                        Orion
Country                                 TH
State or Province                       Tak
Locality                                Mae Sot
Server Address
Email                                   <username>@gmail.com
Assign to:                              + Genesis SSL
  • Click OK.

  • Log out.

  • Restart the computer.

Configuration of Genesis

  • Note: ownCloud depends on MariaDB.

  • Note: WordPress depends on MariaDB.

  • Browse to https://<ip>:8000.

  • Click I Understand the Risks.

  • Click Add Exception.

  • Click Confirm Security Exception.

Username:                               admin
Password:                               ********        (level l2)
  • Click Login.

  • Click Settings > Applications.

  • Click Database - MariaDB > Download and install.

  • Click Database - SQLite3 > Download and install.

  • Click Execute > Download and install.

  • Click File Manager > Download and install.

  • Click File Shares (Windows) > Download and install.

  • Click Filesystems > Download and install.

  • Click Jekyll > Download and install.

  • Click Notepad > Download and install.

  • Click ownCloud > Download and install.

  • Click Package Manager > Download and install.

  • Click Scheduled Tasks > Download and install.

  • Click System Users > Download and install.

  • Click Task Monitor > Download and install.

  • Click Transmission (BitTorrent client) > Download and install.

  • Click WordPress > Download and install.

  • Shutdown System.

  • Click OK to confirm.

8. Risc OS

8.1. Configuration

  • Power up the Raspberry Pi.

9. Dual Monitor