Wishlist/LiveUSB distro
From Openmoko
Line 37: | Line 37: | ||
==Transflash partitioning schema example== | ==Transflash partitioning schema example== | ||
− | * 2 Gb: /dev/ | + | * 2 Gb: /dev/sd? (where N is the transflash's number) |
− | * 700 Mb: /dev/ | + | * 700 Mb: /dev/sd?1 : containing bootable iso, FAT16 |
− | * 1300 Mb: /dev/ | + | * 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. | + | That way, one can install a new iso when it's released. An updater script shall be written. |
+ | |||
+ | ==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? | ||
==Links== | ==Links== |
Revision as of 16:32, 25 March 2007
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. |
An openmoko device could act as the perfect geeky swiss knive: go anywhere with your Linux desktop and tools
When in storage device 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.
Similar functionality can be found in the Wizpy portable media player
The booted payloads must'nt rely on dedicated partitionning; for instance, Ubuntu's boot menu offers memtest execution, here's the grub config line (/boot/grub/menu.lst):
title Ubuntu, memtest86+ root (hd0,2) kernel /memtest86+.bin quiet boot
The file is located /boot/memtest86+.bin What's this file? An ISO? ....
TODO / Open questions:
- can one do the same with a distro
- how to have a writable system (to keep changes)
- can it already be done?
- partitions or binary images?
- what are the compatibility tricks?
Requirements:
- The booted OS should be able to access to openmoko's personal data (ex contacts directory, media files...): the home partition
- It would be great if the device could charge at the same time
- integrate qemu for in-other-OSes loading (without rebooting)
- if possible, the device should still work normally: act as gprs modem, phone
The only function used by the host computer is the storage device
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.
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?