This is highly experimental! If you have trouble, please contact email@example.com.
These packages will allow you to add extra software to your Chrome OS
device without installing a non-official (developer) build (though the
packages work with other third-party builds too). To do this, the
packages are built to install into
/usr/local, and the
instructions below make that directory writable. By using
/usr/local, the root partition can be left as read-only,
allowing official build updates to install normally.
I'm going to post more packages soon, but for now some of the most-requested ones are here. If you try this process, please let me know your success/failure, or any other feedback you might have about the process.
If you want all of the software below bundled into a full system image build, you may want to check out my open source builds of Chromium OS for the Cr-48.
Before installing any packages, you need to have a writable
/usr/local directory. NOTE: If you're already running a
non-official (developer) build, skip this part and go right to
Extracting Packages, below.
Your device must first be set to developer mode before you will be able to install these packages, of course (since developer mode is required in order to get a plain Linux shell prompt).
sudo mkdir /mnt/stateful_partition/dev_imageThis will create a new directory in the stateful partition that represents the (modifiable!)
/usr/localarea. The name "dev_image" is semi-magic -- this is the same name that non-official (developer) builds use to represent /usr/local. You can actually pick any name, even "local", but the instructions here assume "dev_image".
sudo mount -n --bind /mnt/stateful_partition/dev_image /usr/local sudo mount -n -o remount,exec,suid /usr/local
/usr/localis mounted by:
mount | grep localwhich should show:
/dev/sda1 on /usr/local type ext3 (rw,nodev,relatime,errors=continue,commit=600,data=ordered)In particular, the mount should not show the flags
~/.bashrcand add the following lines to the bottom to mount it as soon as any shell is invoked (vt2 or via Ctrl-Alt-T plus "shell" command):
if ! grep -q /usr/local /etc/mtab; then sudo mount -n --bind /mnt/stateful_partition/dev_image /usr/local sudo mount -n -o remount,exec,suid /usr/local export LD_LIBRARY_PATH=/usr/local/lib fiNote that if the chronos user has a password, you will be prompted for it the first time you get a shell on each boot, because of the
sudocommands. (On vt2, you'll get a Password prompt twice -- once to login, and once for the
sudo mountcommands above.)
Now that you have a writable /usr/local, you can extract some of
these packages. Assuming you downloaded them with the regular browser,
they're located in
~/Downloads. So do the following for
each package you want to install:
cd ~/Downloads sudo tar --wildcards -C / -xvjf PACKAGENAME.tbz2 './usr/local/*'
The reason for
--wildcards and the strange looking
'./usr/local/*' is to make
tar only extract
the parts that reside under
/usr/local. (The packages
contain residual files that try to install outside that area, but those
are safely ignorable.) At the end of the process, you may see an error
like the following, which is normal and can be ignored:
bzip2: (stdin): trailing garbage after EOF ignored
If all went well, your new programs should be located in
/usr/local/bin and be runnable immediately.
Name Last modified Size Description
Parent Directory - HEADER.html 2011-02-24 08:41 5.6K README.html 2011-01-31 14:34 15 doomsday-1.9.0_beta62.tbz2 2011-02-15 15:06 5.8M [requires: libsdl,sdl-mixer,sdl-net] DOOM game engine clone libsdl-1.2.13-r1.tbz2 2011-02-15 14:26 1.1M lynx-2.8.7_p1.tbz2 2011-02-15 13:57 1.9M text-based Web browser mc-22.214.171.124.tbz2 2011-02-15 13:44 1.2M visual file manager with text and X11 interfaces nano-2.2.5.tbz2 2011-02-12 15:40 341K text editor similar to Pine's pico p7zip-4.58.tbz2 2011-02-12 15:36 7.8M archiver for .7z files popt-1.15.tbz2 2011-02-12 15:34 113K rdesktop-1.6.0-r5.tbz2 2011-02-15 12:46 396K Windows Remote Desktop client rsync-3.0.6.tbz2 2011-02-12 15:38 583K [requires: popt] rsync client sdl-mixer-1.2.11.tbz2 2011-02-15 14:41 127K sdl-net-1.2.7.tbz2 2011-02-15 14:41 53K socat-126.96.36.199-r1.tbz2 2011-02-15 10:02 846K TCP/UDP Swiss-army knife tigervnc-1.0.1.tbz2 2011-02-15 10:20 831K VNC client unrar-3.8.5.tbz2 2011-02-16 18:17 396K extractor for .rar archives unzip-6.0-r1.tbz2 2011-02-12 15:45 375K extractor for .zip archives vile-9.4d.tbz2 2011-02-15 15:35 2.0M text editor (clone of classic vi) zip-3.0.tbz2 2011-02-12 15:49 533K creator of .zip archives