Tiny Core Linux
Tiny Core Linux is a minimal Linux distribution, designed for on-demand software loading. This page describes builds of Tiny Core Linux for the OLPC XO. For more information on Tiny Core Linux, see http://tinycorelinux.com
People involved:
- James Cameron,
- Yioryos Asprobounitis,
- George Hunt and;
- Jerry Vonau.
Core 4.7.7 2013-06-25
Announcing a build of Tiny Core Linux for OLPC XO.
Useful for testing and diagnosis without touching the internal storage.
Features
- runs on XO-1, XO-1.5, XO-1.75, or XO-4,
- configured for a single root shell in text mode, with alternate consoles available for login,
- based on Core 4.7.7, uses the OLPC kernel from 13.2.0-8, and includes latest signed Open Firmware versions for automatic upgrade,
- includes wireless firmware for each laptop, and wireless tools from Tiny Core Linux.
Downloads
- core-4.7.7-xo-2013-06-25.zip (49 MB) (md5sum 3ad809ddb06fefa75b7c3c8a28520d11)
Prepare USB Drive
- select a USB drive of at least 128 MB capacity, (it may have either a FAT or ext2 filesystem),
Linux - GNOME and Firefox
- insert the USB drive,
- click on the zip file link above, and a dialog window will appear asking you what you want done with the download,
- accept the default to open it in Archive Manager, and the Archive Manager window will appear,
- click on Extract, and a dialog window will appear asking you where to extract to,
- click on the USB drive in the Places list, then click on the Extract button, a dialog window will appear to tell you it worked,
- close the dialog window,
- close the Archive Manager window,
- close the Downloads window,
- eject the USB drive.
Linux - Terminal
- download the zip file using the link above, to the USB drive:
cd /run/media/olpc/FRED wget ${URL}
- extract the zip file, at the top of the USB drive:
cd /run/media/olpc/FRED unzip core-4.7.7-xo-2013-06-25.zip
- delete the zip file if you like, it is not required further,
rm core-4.7.7-xo-2013-06-25.zip
- eject the USB drive:
umount /run/media/olpc/FRED
Mac OS X
- insert the USB drive,
- control-click on the link above, select Download Linked File As ..., and a Save As dialog will appear,
- change Where to the name of the USB drive, usually Untitled, then click on Save, the dialog will go away,
- switch tasks to Finder, display the USB drive,
- double-click on the zip file, and the contents will be expanded, a new folder boot will be created,
- delete the zip file if you like, it is not required further,
- eject the USB drive.
Windows
- download the zip file,
- insert the USB drive,
- use WinZip or other operating system features to expand it onto the USB drive,
- eject the USB drive.
Prepare laptop
- ensure the laptop is unsecured, or sign the kernel and initrd files with your deployment keys,
- insert the USB drive into the laptop,
Boot laptop
- turn on the laptop, and the USB drive will be automatically read,
- after a short wait you will see the Tiny Core Linux system prompt:
root@box:~#
- you may remove the USB drive.
Tiny Core Linux is now ready for your commands.
Configure wireless
- identify the wireless adapter interface name:
iw dev
- expected values vary:
laptop | adapter | kernel modules | interface name |
---|---|---|---|
XO-1 | Marvell 8388 | libertas usb8xxx | wlan0 |
XO-1.5, XO-1.75, XO-4 | Marvell 8686 | libertas libertas_sdio | wlan0 |
XO-4 | Marvell 8787 | mwifiex mwifiex_sdio | mlan0 |
- scan for networks:
iwlist mlan0 scan
- associate with an open network:
iwconfig mlan0 essid network
- configure the interface using DHCP
/sbin/udhcpc -b -i mlan0 -x hostname:xo
Configure wired USB ethernet after boot
- insert USB ethernet adapter,
- configure the interface using DHCP
/etc/init.d/dhcp.sh
Installing additional utilities
- additional utilities needed for a task can be installed:
su -c 'tce-load -wi rsync' tc
See the Tiny Core Linux documentation for more detail.
Additional shells
- additional shells can be started using Alt/F2, username tc.
Access to XO-1 filesystem
- you can mount and investigate the XO's JFFS2 flash filesystem, for example:
cat /proc/mtd mkdir /mnt/root mount -t jffs2 mtd0 /mnt/root
Access to XO-1.5, XO-1.75 and XO-4 filesystem
- you can mount and investigate the XO's eMMC or microSD filesystems, for example:
cat /proc/partitions mkdir /mnt/boot /mnt/root mount /dev/mmcblk0p2 /mnt/boot mount /dev/mmcblk0p2 /mnt/root
Backup and Restore
See Backup for how to use Tiny Core Linux for backup and restore of a laptop.
Reversion
See Reversion for how to use Tiny Core Linux to revert an XO with OLPC OS to a pristine filesystem configuration, as if it had just been installed. This can be used to quickly clean a set of class specific or loaned laptops.
Remote Diagnosis
- connect a USB ethernet adapter or configure wireless,
- load the OpenSSH extension:
su -c 'tce-load -wi openssh' tc
- configure OpenSSH server with defaults:
cd /usr/local/etc/ssh && cp sshd_config.example sshd_config
- start the OpenSSH server:
/usr/local/etc/init.d/openssh start
- wait for new host keys to be generated,
- change the password for the user tc:
passwd tc
- find the IP address of the laptop:
ifconfig
- set up inbound port forwarding on router if required,
- connect your OpenSSH client,
ssh tc@$IP
See also remote diagnosis using firmware only.
References
- Tiny Core Linux http://www.tinycorelinux.com/
- mktinycorexo script http://dev.laptop.org/~quozl/mktinycorexo/
- mktinycorexo script git repository
git clone http://dev.laptop.org/~quozl/mktinycorexo/.git