I like to have a Linux system that completely runs on an USB stick (read and write also for persistent storage) so that it can run on a hardware host without touching the host's built-in harddisk.

Last HackWeek I created such a system with SUSE Studio using its "USB stick / hard disk image" type.

I found out that the SUSE Studio web frontend does not provide sufficient fine-tuning options to get such a system running with sufficient performance on the slow flash memory storage that is used on usual USB sticks, see in particular https://bugzilla.novell.com/show_bug.cgi?id=820435

This HackWeek I will use the openSUSE KIWI Image System directly. See in particular the section "Pimp your USB stick ... A System on a USB Stick" on http://en.opensuse.org/Portal:KIWI

An advanced goal is a Web Kiosk System with persistent storage on USB stick that can be used even by an innocent user to safely and securely browse the Internet and also permanently store his own data on his system. See in particular the section "Creating a Web-Kiosk image" on http://en.opensuse.org/Portal:KIWI

My personal use case is a Web Kiosk System with persistent storage on USB stick so that children can safely and securely browse the Internet on any hardware host without touching the host's built-in harddisk.

My final goal is that several of those Linux Web Kiosk Systems that run temporarily on various hardware hosts at various places can somehow build up a virtual private network so that a group of users with such Linux Web Kiosk Systems can safely and securely communicate with each other even in a time shifted way (e.g. via a private e-mail system).

Looking for hackers with the skills:

kiwi kiosk

This project is part of:

Hack Week 10

Activity

  • about 11 years ago: bgerhard joined this project.
  • about 11 years ago: bgerhard liked this project.
  • about 11 years ago: randybb liked this project.
  • about 11 years ago: vdziewiecki liked this project.
  • about 11 years ago: jsmeix liked this project.
  • about 11 years ago: jsmeix added keyword "kiosk" to this project.
  • about 11 years ago: thutterer liked this project.
  • about 11 years ago: jsmeix started this project.
  • about 11 years ago: jsmeix added keyword "kiwi" to this project.
  • about 11 years ago: jsmeix originated this project.

  • Comments

    • sax2
      about 11 years ago by sax2 | Reply

      HI,

      during last hack week I implemented a tool which might be interesting for you too. The 'livestick' utility allows to easy deploy a live iso in a way that you gain read-write support, you will not loose any data which is on the stick before, and the tool uses a uniq uuid to identify the device on boot which is often a problem on sticks. If you don't mind I'd like to join you with this project ;)

      • sax2
        about 11 years ago by sax2 | Reply

        btw, livestick is part of the current kiwi packages

    • jsmeix
      about 10 years ago by jsmeix | Reply

      A short note what I accomplished and what I didn't:

      It was relatively easy to get a working Linux system on a USB stick. But it is time consuming until one understands Kwi sufficiently so that it makes what one wants.

      What did not work in the end was to get it running sufficiently fast from usual USB sticks. It runs sufficiently fast from a high-end USB stick with SLC (single level cell) flash memory. But on all usual (a.k.a. cheap) USB sticks it is too slow for normal usage. As fas as I understand it the root cause is that the openSUSE Linux kernel has no (not yet?) specific support for slow flash memory as used in usual USB sticks in contrast to SSD harddisks that have an intelligent controller with sufficient big data buffers in between. On usual USB sticks the kernel basically operates directly on the slow flash memory and - as fas as I found out - there is no way to tell the kernel the hardware parameters of flash memory - in particular the size of the physical units (physical block size) for read/write operations (that is usually something like 4MB or 8MB - mega bytes not kilo bytes!) so that the kernel could do its read/write operations on the flash memory using its physical block size to avoid both slowdown from read-modify-write in the USB stick and slowdown from multiple small reads (some KB) instead of big reads (4MB or 8MB) and needless wear from multiple small writes (some KB) instead of few big writes (4MB or 8MB). I am not at all a kernel expert here but I think if I could tell the kernel e.g. "use 4MB block size for /dev/sdb" then a Linux system may run with acceptable speed even on usual USB sticks.

    Similar Projects

    This project is one of its kind!