This is highly experimental! If you have trouble, please contact tv@duh.org.
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/local area. 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/local
is 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
noexec or nosuid.export LD_LIBRARY_PATH=/usr/local/lib
~/.bashrc and 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
fi
Note 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
sudo commands. (On vt2, you'll get a Password prompt twice
-- once to login, and once for the sudo mount commands
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 24-Feb-2011 08:41 5.6K
README.html 31-Jan-2011 14:34 15
doomsday-1.9.0_beta62.tbz2 15-Feb-2011 15:06 5.8M [requires: libsdl,sdl-mixer,sdl-net] DOOM game engine clone
libsdl-1.2.13-r1.tbz2 15-Feb-2011 14:26 1.1M
lynx-2.8.7_p1.tbz2 15-Feb-2011 13:57 1.9M text-based Web browser
mc-4.7.0.1.tbz2 15-Feb-2011 13:44 1.2M visual file manager with text and X11 interfaces
nano-2.2.5.tbz2 12-Feb-2011 15:40 341K text editor similar to Pine's pico
p7zip-4.58.tbz2 12-Feb-2011 15:36 7.8M archiver for .7z files
popt-1.15.tbz2 12-Feb-2011 15:34 113K
rdesktop-1.6.0-r5.tbz2 15-Feb-2011 12:46 396K Windows Remote Desktop client
rsync-3.0.6.tbz2 12-Feb-2011 15:38 583K [requires: popt] rsync client
sdl-mixer-1.2.11.tbz2 15-Feb-2011 14:41 127K
sdl-net-1.2.7.tbz2 15-Feb-2011 14:41 53K
socat-1.7.1.1-r1.tbz2 15-Feb-2011 10:02 846K TCP/UDP Swiss-army knife
tigervnc-1.0.1.tbz2 15-Feb-2011 10:20 831K VNC client
unrar-3.8.5.tbz2 16-Feb-2011 18:17 396K extractor for .rar archives
unzip-6.0-r1.tbz2 12-Feb-2011 15:45 375K extractor for .zip archives
vile-9.4d.tbz2 15-Feb-2011 15:35 2.0M text editor (clone of classic vi)
zip-3.0.tbz2 12-Feb-2011 15:49 533K creator of .zip archives