Wishlist/LiveUSB distro
From Openmoko
Wishes warning! This article or section documents one or more OpenMoko Wish List items, the features described here may or may not be implemented in the future. |
Contents |
Introduction
An openmoko device could act as the perfect geeky swiss knive: go anywhere with your Linux desktop and tools
When the openmoko device is in mass storage mode, a host computer should be able to boot on it, presenting a grub menu offering to boot into several images / partitions (payloads) on the transflash: memtest, UBCD (the ultimate boot cd), a lightweight security oriented livecd distro, you name it...
Usually, all you need for this with an USB storage device (flash USB stick or external drive) is a partition, flagged "bootable" (see fdisk), containing a boot loader (say grub). But the problem is that specifications vary between motherboards, so there are variants and mandatory requirements to define (here would be a good idea), so that one can optimize/maximize the compatibility.
Testing/further research has to be conducted to determine:
- if a bootable-flagged partition / grub doesn't mess openmoko up
- if the phone can still act as a phone, or if the booted os can use the gprs functions
- if the phone can recharge on mass storage mode (from the usb cable)
- if a dedicated partition for each payload is needed (see memtest example...)
- if multi-boot is possible: grub?
Similar functionality can be found in the Wizpy portable media player
Transflash partitioning schema example
- 2 Gb: /dev/sd? (where N is the transflash's number)
- 700 Mb: /dev/sd?1 : containing bootable iso, FAT16
- 1300 Mb: /dev/sd?2 : openmoko & bootable os home partition, EXT3?
- eventually a swap
That way, one can install a new iso when it's released. An updater script shall be written.
Linux distro Howto
Summary: When the neo/openmoko device is connected in mass storage mode to a linux host,
- Partition the transflash into livecd (bootable flag) & home partition
- Format the created partitions
- Extract the iso's contents onto the livecd partition
- Rename isolinux.cfg and edit it syslinux.cfg (see ubuntu tutorial link)
- Make the partition bootable using syslinux:
$ sudo syslinux -f /dev/sd?
See Howto install ubuntu (or any other distro) on usb stick
Memtest86+
Grub example (from stock /boot/grub/menu.lst ubuntu install):
title Ubuntu, memtest86+ root (hd0,2) kernel /memtest86+.bin quiet boot
Interesting distros/payloads
System diagnostics / recovery
- Memtest86+ Very small
- The Ultimate Boot CD
- System Rescue CD
- Recovery IS Possible < 80 MB
General purpose
- Knoppix 700 MB CD-ROM
- PuppyLinux < 100 MB
Security-oriented: pentesting, forensics, anonymous webbrowsing