Tiny Core Linux: Difference between revisions
No edit summary |
No edit summary |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
* Jerry Vonau. |
* Jerry Vonau. |
||
== Core 4.7.7 |
== Core 4.7.7 2015-11-14 == |
||
Announcing a build of Tiny Core Linux for OLPC XO. |
Announcing a build of Tiny Core Linux for OLPC XO. |
||
Line 13: | Line 13: | ||
Useful for testing and diagnosis without touching the internal storage. |
Useful for testing and diagnosis without touching the internal storage. |
||
== Features == |
|||
* runs on XO-1, XO-1.5, XO-1.75, or XO-4, |
* runs on XO-1, XO-1.5, XO-1.75, or XO-4, |
||
Line 19: | Line 19: | ||
* configured for a single root shell in text mode, with alternate consoles available for login, |
* 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 [[Release_notes/13.2. |
* based on Core 4.7.7 (XO-1, XO-1.5) and Core 4.7.5 (XO-1.75, XO-4), uses the OLPC kernel from [[Release_notes/13.2.6|13.2.6-18]], and includes corresponding signed Open Firmware versions for automatic upgrade, |
||
* includes wireless firmware for each laptop, and wireless tools from Tiny Core Linux. |
* includes wireless firmware for each laptop, and wireless tools from Tiny Core Linux. |
||
== Downloads == |
|||
* [http://dev.laptop.org/~quozl/tinycore/core-4.7.7-xo- |
* [http://dev.laptop.org/~quozl/tinycore/core-4.7.7-xo-2015-11-14.zip core-4.7.7-xo-2015-11-14.zip] (50 MB) (md5sum b578d9dbd6ece520e47730166d84d46d) |
||
== Prepare USB Drive == |
|||
* select a USB drive of at least 128 MB capacity, (it may have either a FAT or ext2 filesystem), |
* 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, |
* insert the USB drive, |
||
Line 51: | Line 51: | ||
* eject the USB drive. |
* eject the USB drive. |
||
=== Linux - Terminal === |
|||
* download the zip file using the link above, to the USB drive: |
* download the zip file using the link above, to the USB drive: |
||
Line 61: | Line 61: | ||
cd /run/media/olpc/FRED |
cd /run/media/olpc/FRED |
||
unzip core-4.7.7-xo- |
unzip core-4.7.7-xo-2015-11-14.zip |
||
* delete the zip file if you like, it is not required further, |
* delete the zip file if you like, it is not required further, |
||
rm core-4.7.7-xo- |
rm core-4.7.7-xo-2015-11-14.zip |
||
* eject the USB drive: |
* eject the USB drive: |
||
Line 70: | Line 70: | ||
umount /run/media/olpc/FRED |
umount /run/media/olpc/FRED |
||
=== Mac OS X === |
|||
* insert the USB drive, |
* insert the USB drive, |
||
Line 80: | Line 80: | ||
* eject the USB drive. |
* eject the USB drive. |
||
=== Windows === |
|||
* download the zip file, |
* download the zip file, |
||
Line 87: | Line 87: | ||
* eject the USB drive. |
* eject the USB drive. |
||
== Prepare laptop == |
|||
* ensure the laptop is [[Activation_and_developer_keys|unsecured]], or sign the kernel and initrd files with your deployment keys, |
* ensure the laptop is [[Activation_and_developer_keys|unsecured]], or sign the kernel and initrd files with your deployment keys, |
||
* insert the USB drive into the laptop, |
* insert the USB drive into the laptop, |
||
== Boot laptop == |
|||
* turn on the laptop, and the USB drive will be automatically read, |
* turn on the laptop, and the USB drive will be automatically read, |
||
Line 101: | Line 101: | ||
Tiny Core Linux is now ready for your commands. |
Tiny Core Linux is now ready for your commands. |
||
== Configure wireless == |
|||
wifi.sh |
|||
* identify the wireless adapter interface name: |
|||
iw dev |
|||
The script scans for available networks, lists them, and allows you to choose one, and enter a password if necessary. |
|||
* expected values vary: |
|||
⚫ | |||
{| border="1" cellspacing="0" cellpadding="2" class="wikitable" |
|||
! 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 |
|||
|} |
|||
When a USB ethernet adapter is connected before boot, if drivers are present it will be configured and be ready for use. When the adapter is added after boot, configure the interface using DHCP: |
|||
* scan for networks: |
|||
udhcpc |
|||
iwlist mlan0 scan |
|||
* associate with an open network: |
|||
iwconfig mlan0 essid ''network'' |
|||
* configure the interface using DHCP |
|||
/etc/init.d/dhcp.sh |
|||
⚫ | |||
⚫ | |||
* insert USB ethernet adapter, |
|||
* configure the interface using DHCP |
|||
/etc/init.d/dhcp.sh |
|||
⚫ | |||
* additional utilities needed for a task can be installed: |
* additional utilities needed for a task can be installed: |
||
Line 150: | Line 119: | ||
See the Tiny Core Linux documentation for more detail. |
See the Tiny Core Linux documentation for more detail. |
||
== Additional shells == |
|||
* additional shells can be started using Alt/F2, username tc. |
* 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: |
* you can mount and investigate the XO's [[JFFS2]] flash filesystem, for example: |
||
Line 161: | Line 130: | ||
mount -t jffs2 mtd0 /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: |
* you can mount and investigate the XO's eMMC or microSD filesystems, for example: |
||
Line 169: | Line 138: | ||
mount /dev/mmcblk0p2 /mnt/root |
mount /dev/mmcblk0p2 /mnt/root |
||
== Backup and Restore == |
|||
See [[Backup]] for how to use Tiny Core Linux for backup and restore of a laptop. |
See [[Backup]] for how to use Tiny Core Linux for backup and restore of a laptop. |
||
See [[/Save Journal|Save Journal]] for how to use Tiny Core Linux for backup of the Sugar Journal on multiple laptops. |
|||
⚫ | |||
⚫ | |||
See [[/Reversion|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. |
See [[/Reversion|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|configure wireless]], |
* connect a USB ethernet adapter or [[#Configure_wireless|configure wireless]], |
||
* run our script: |
|||
* load the OpenSSH extension: |
|||
xo-remote |
|||
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, |
|||
⚫ | |||
passwd tc |
|||
⚫ | |||
ifconfig |
|||
* set up inbound port forwarding on router if required, |
* set up inbound port forwarding on router if required, |
||
* connect your OpenSSH client, |
* connect your OpenSSH client, |
||
Line 196: | Line 160: | ||
See also [[Firmware/Remote|remote diagnosis using firmware only]]. |
See also [[Firmware/Remote|remote diagnosis using firmware only]]. |
||
== Boot from JFFS2 on XO-1 == |
|||
Mount the JFFS2 filesystem, save the original boot directory, and make a new one: |
|||
mkdir /mnt/root |
|||
mount -t jffs2 mtd0 /mnt/root |
|||
mv /mnt/root/boot /mnt/root/boot.orig |
|||
mkdir /mnt/root/boot |
|||
Mount the USB drive, and copy the required files to the JFFS2 filesystem: |
|||
mount /dev/sda1 /mnt/sda1 |
|||
cp /mnt/sda1/boot/olpc.fth /mnt/root/boot/ |
|||
cp /mnt/sda1/boot/initrd.x86 /mnt/root/boot/ |
|||
cp /mnt/sda1/boot/vmlinuz.0 /mnt/root/boot/ |
|||
Release the filesystems, remove the USB drive, and reboot: |
|||
umount /mnt/sda1 |
|||
umount /mnt/root |
|||
reboot |
|||
== References == |
== References == |
||
* Tiny Core Linux http://www.tinycorelinux.com/ |
* Tiny Core Linux http://www.tinycorelinux.com/ |
||
* |
* [http://dev.laptop.org/git/users/quozl/mktinycorexo mktinycorexo git repository] |
||
* |
* get the source: {{code|git clone git://dev.laptop.org/users/quozl/mktinycorexo}} |
||
[[Category:Linux distributions]] |
[[Category:Linux distributions]] |
Latest revision as of 01:04, 14 November 2015
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 2015-11-14
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 (XO-1, XO-1.5) and Core 4.7.5 (XO-1.75, XO-4), uses the OLPC kernel from 13.2.6-18, and includes corresponding 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-2015-11-14.zip (50 MB) (md5sum b578d9dbd6ece520e47730166d84d46d)
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-2015-11-14.zip
- delete the zip file if you like, it is not required further,
rm core-4.7.7-xo-2015-11-14.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
wifi.sh
The script scans for available networks, lists them, and allows you to choose one, and enter a password if necessary.
Configure wired USB ethernet after boot
When a USB ethernet adapter is connected before boot, if drivers are present it will be configured and be ready for use. When the adapter is added after boot, configure the interface using DHCP:
udhcpc
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.
See Save Journal for how to use Tiny Core Linux for backup of the Sugar Journal on multiple laptops.
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,
- run our script:
xo-remote
- respond to the password change prompts for the user tc,
- wait for script to complete, and note the IP address of the laptop:
- set up inbound port forwarding on router if required,
- connect your OpenSSH client,
ssh tc@$IP
See also remote diagnosis using firmware only.
Boot from JFFS2 on XO-1
Mount the JFFS2 filesystem, save the original boot directory, and make a new one:
mkdir /mnt/root mount -t jffs2 mtd0 /mnt/root mv /mnt/root/boot /mnt/root/boot.orig mkdir /mnt/root/boot
Mount the USB drive, and copy the required files to the JFFS2 filesystem:
mount /dev/sda1 /mnt/sda1 cp /mnt/sda1/boot/olpc.fth /mnt/root/boot/ cp /mnt/sda1/boot/initrd.x86 /mnt/root/boot/ cp /mnt/sda1/boot/vmlinuz.0 /mnt/root/boot/
Release the filesystems, remove the USB drive, and reboot:
umount /mnt/sda1 umount /mnt/root reboot
References
- Tiny Core Linux http://www.tinycorelinux.com/
- mktinycorexo git repository
- get the source: git clone git://dev.laptop.org/users/quozl/mktinycorexo