Wishlist/LiveUSB distro

From Openmoko

(Difference between revisions)
Jump to: navigation, search
Line 8: Line 8:
  
 
Similar functionality can be found in [http://en.wikipedia.org/wiki/Wizpy the Wizpy portable media player]
 
Similar functionality can be found in [http://en.wikipedia.org/wiki/Wizpy 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==
 
==Transflash partitioning schema example==
Line 44: Line 18:
 
That way, one can install a new iso when it's released. An updater script shall be written.
 
That way, one can install a new iso when it's released. An updater script shall be written.
  
==Howto==
+
==Linux distro Howto==
  
 
Summary: When the neo/openmoko device is connected in mass storage mode to a linux host,
 
Summary: When the neo/openmoko device is connected in mass storage mode to a linux host,
Line 54: Line 28:
 
     $ sudo syslinux -f /dev/sd?
 
     $ sudo syslinux -f /dev/sd?
  
==Links==
+
See [http://www.debuntu.org/how-to-install-ubuntu-linux-on-usb-bar Howto install ubuntu (or any other distro) on usb stick]
 +
 
 +
==Memtest86+==
 +
 
 +
Grub example (from stock ubuntu install):
 +
 
 +
title          Ubuntu, memtest86+
 +
root            (hd0,2)
 +
kernel          /memtest86+.bin
 +
quiet
 +
boot
 +
 
 +
==Interesting distros/payloads==
 +
 
 +
'''System diagnostics / recovery'''
 +
[http://en.wikipedia.org/wiki/Memtest Memtest86+]
 +
[http://www.ultimatebootcd.com/ The Ultimate Boot CD]
 +
[http://www.sysresccd.org/Main_Page System Rescue CD]
 +
[http://www.tux.org/pub/people/kent-robotti/looplinux/rip/ Recovery IS Possible] < 80 MB
 +
 
 +
'''General purpose'''
 +
[http://knoppix.com/ Knoppix] CD-ROM
 +
 
 +
'''Security-oriented''': pentesting, forensics, anonymous webbrowsing
 +
*[http://www.darknet.org.uk/2006/03/10-best-security-live-cd-distros-pen-test-forensics-recovery/ List of Security distros]
 +
*[http://www.remote-exploit.org/backtrack.html Backtrack Livecd]
 +
*[http://en.wikipedia.org/wiki/Anonym.OS Anonym.OS: browse the web anonymously]
  
[http://www.debuntu.org/how-to-install-ubuntu-linux-on-usb-bar Howto install ubuntu (or any other distro) on usb stick]
+
[http://en.wikipedia.org/wiki/List_of_LiveDistros List of Live Distros]
  
 
[[Category:Ideas]]
 
[[Category:Ideas]]

Revision as of 16:50, 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

Contents

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,

  1. Partition the transflash into livecd (bootable flag) & home partition
  2. Format the created partitions
  3. Extract the iso's contents onto the livecd partition
  4. Rename isolinux.cfg and edit it syslinux.cfg (see ubuntu tutorial link)
  5. 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 ubuntu install):

title Ubuntu, memtest86+ root (hd0,2) kernel /memtest86+.bin quiet boot

Interesting distros/payloads

System diagnostics / recovery Memtest86+ The Ultimate Boot CD System Rescue CD Recovery IS Possible < 80 MB

General purpose Knoppix CD-ROM

Security-oriented: pentesting, forensics, anonymous webbrowsing

List of Live Distros

Personal tools
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,

  1. Partition the transflash into livecd (bootable flag) & home partition
  2. Format the created partitions
  3. Extract the iso's contents onto the livecd partition
  4. Rename isolinux.cfg and edit it syslinux.cfg (see ubuntu tutorial link)
  5. Make the partition bootable using syslinux:
   $ sudo syslinux -f /dev/sd?

Links

Howto install ubuntu (or any other distro) on usb stick