Chromium OS doesn’t come with Flash Player. On this page you will find an adapted version of the install/update script from the Ubuntu pepperflashplugin-nonfree package.
- Put all the files on a flash drive
- After your computer has booted to the Chromium OS login screen, press [ Ctrl ] [ Alt ] [ F2 ] to get a text-based login prompt. ( [ F2 ] may appear as [ → ] on your Notebook keyboard.)
- Login with the chronos user (Default no password).
- Change to root user
# sudo su
- Mount the flash drive:
# mkdir /tmp/disk # mount /dev/sdb1 / /tmp/disk
- Run the installer:
# cd /tmp/disk # bash install.sh
- Unmount disk:
# cd # umount /tmp/disk
- Reboot and test
Usage after installation:
Installation and updates:
# /usr/local/sbin/update-pepperflashplugin-nonfree --install
Removal:
# /usr/local/sbin/update-pepperflashplugin-nonfree --uninstall
Status information:
# /usr/local/sbin/update-pepperflashplugin-nonfree --status
Files:
install.sh
#!/bin/bash echo "mount rw" mount -o remount,rw / echo "cp pystring" cp pystring /usr/local/bin/pystring echo "cp script" cp update-pepperflashplugin-nonfree /usr/local/sbin/update-pepperflashplugin-nonfree echo "mkdir pepper" mkdir /opt/google/chrome/pepper echo "cp info" cp pepper-flash.info /opt/google/chrome/pepper/. echo "run script" bash /usr/local/sbin/update-pepperflashplugin-nonfree --install echo "mount ro" mount -o remount,ro /
pepper-flash.info
# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Registration file for Pepper Flash player. FILE_NAME=/opt/google/chrome/pepper/libpepflashplayer.so PLUGIN_NAME="Shockwave Flash" VERSION="11.3.31.318" VISIBLE_VERSION="11.3 r31" DESCRIPTION="$PLUGIN_NAME $VISIBLE_VERSION" MIME_TYPES="application/x-shockwave-flash"
pystring
#!/usr/local/bin/python import sys import string printable = set(string.printable) def process(stream): found_str = "" while True: data = stream.read(1024*4) if not data: break for char in data: if char in printable: found_str += char elif len(found_str) >= 4: yield found_str found_str = "" else: found_str = "" if __name__ == "__main__": for found_str in process(sys.stdin): print found_str
update-pepperflashplugin-nonfree
#!/bin/sh
# Copyright (C) 2006-2013 Bart Martens <bartm@knars.be>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set -e
die_hard() {
echo "ERROR: $1" >&2
echo "More information might be available at:" >&2
echo " http://wiki.debian.org/PepperFlashPlayer" >&2
exit 1
}
[ "$(id -u)" = "0" ] || die_hard "must be root"
show_usage() {
echo "Usage:"
echo " update-pepperflashplugin-nonfree --install"
echo " update-pepperflashplugin-nonfree --uninstall"
echo " update-pepperflashplugin-nonfree --status"
echo "Additional options:"
echo " --verbose"
echo " --quiet"
exit 1
}
getopt_temp=$(getopt -o iusfvq --long install,uninstall,status,fast,verbose,quiet \
-n 'update-pepperflashplugin-nonfree' -- "$@") || show_usage
eval set -- "$getopt_temp"
ACTION=none
fast=no
verbose=no
quiet=no
while [ $# -gt 0 ]
do
case "$1" in
-i|--install)
ACTION="--install"
shift
;;
-u|--uninstall)
ACTION="--uninstall"
shift
;;
-s|--status)
ACTION="--status"
shift
;;
-f|--fast)
fast=yes
shift
;;
-v|--verbose)
verbose=yes
shift
;;
-q|--quiet)
quiet=yes
shift
;;
--)
shift
break
;;
*)
echo "Internal error!"
exit 1
;;
esac
done
[ "$ACTION" != "none" -a $# -eq 0 ] || show_usage
[ "$quiet" != "yes" ] || verbose=no
[ "$verbose" != "yes" ] || echo "options : $getopt_temp"
wgetquiet='-q'
wgetfast='-t 3 -T 15'
wgetprogress='-v --progress=dot:default'
[ "$quiet" != "no" ] || wgetquiet=""
[ "$fast" != "no" ] || wgetfast=""
wgetoptions="$wgetquiet $wgetfast $wgetprogress"
arch="x86_64"
mount -o remount,rw /
cachedir=/var/cache/pepperflashplugin-nonfree
upstream=""
installed=""
if [ "$ACTION" = "--install" ] || [ "$ACTION" = "--status" ]
then
mkdir -p /usr/lib/pepperflashplugin-nonfree
if [ -f /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so ]
then
installed=$(cat /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so | /usr/local/bin/pystring | awk '/LNX/{gsub(/,/,".");print$2}')
fi
[ "$verbose" != "yes" ] || echo "getting version of upstream"
upstream=$(HOME=/root /usr/local/bin/wget -q -O- "https://get.adobe.com/flashplayer/webservices/json/?platform_type=Linux&platform_arch=$arch&browser_dist=Chrome" | tr , '\n' | awk -F: '/"[Vv][Ee][Rr][Ss][Ii][Oo][Nn]":/{gsub(/ *",*/,"",$2);print$2;exit}')
[ "$upstream" != "" ] || die_hard "failed to determine upstream version"
fi
case "$ACTION" in
--install)
[ "$verbose" != "yes" ] || echo "selected action = $ACTION"
if [ "$upstream" != "" ] && [ "$installed" != "" ] && [ "$upstream" = "$installed" ]
then
[ "$verbose" != "yes" ] || echo "upstream version $upstream is already installed"
else
cached=""
if [ -f /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so ] && [ -f /var/cache/pepperflashplugin-nonfree/manifest.json ]
then
cached=$(cat /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so | /usr/local/bin/pystring | awk '/LNX/{gsub(/,/,".");print$2}')
fi
if [ "$cached" != "" ] && [ "$cached" = "$upstream" ]
then
[ "$verbose" != "yes" ] || echo "using /var/cache/pepperflashplugin-nonfree copies"
cp /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so /usr/lib/pepperflashplugin-nonfree/
cp /var/cache/pepperflashplugin-nonfree/manifest.json /usr/lib/pepperflashplugin-nonfree/
cp /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so /opt/google/chrome/pepper/
cp /var/cache/pepperflashplugin-nonfree/manifest.json /opt/google/chrome/pepper/
else
url="https://fpdownload.adobe.com/pub/flashplayer/pdc/$upstream/flash_player_ppapi_linux.$arch.tar.gz"
[ "$verbose" != "yes" ] || echo "downloading from $url"
mkdir -p /var/cache/pepperflashplugin-nonfree
HOME=/root /usr/local/bin/wget $wgetoptions -O- "$url" | tar -xz -C /var/cache/pepperflashplugin-nonfree libpepflashplayer.so manifest.json
chown root:root /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so
chmod 644 /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so
chown root:root /var/cache/pepperflashplugin-nonfree/manifest.json
chmod 644 /var/cache/pepperflashplugin-nonfree/manifest.json
cached=$(cat /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so | /usr/local/bin/pystring | awk '/LNX/{gsub(/,/,".");print$2}')
[ "$cached" = "$upstream" ] || die_hard "failed to download expected version $upstream, downloaded $cached"
cp /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so /usr/lib/pepperflashplugin-nonfree/
cp /var/cache/pepperflashplugin-nonfree/manifest.json /usr/lib/pepperflashplugin-nonfree/
cp /var/cache/pepperflashplugin-nonfree/libpepflashplayer.so /opt/google/chrome/pepper/
cp /var/cache/pepperflashplugin-nonfree/manifest.json /opt/google/chrome/pepper/
fi
fi
[ "$verbose" != "yes" ] || echo "end of action $ACTION"
;;
--uninstall)
[ "$verbose" != "yes" ] || echo "selected action = $ACTION"
[ "$verbose" != "yes" ] || echo "removing files ..."
rm -f /usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so
rm -f /usr/lib/pepperflashplugin-nonfree/manifest.json
[ "$verbose" != "yes" ] || echo "end of action $ACTION"
;;
--status)
[ "$verbose" != "yes" ] || echo "selected action = $ACTION"
echo "Flash Player version installed on this system : $installed"
echo "Flash Player version available on upstream site: $upstream"
[ "$verbose" != "yes" ] || echo "end of action $ACTION"
;;
*)
show_usage
;;
esac
mount -o remount,ro /
[ "$verbose" != "yes" ] || echo "end of update-pepperflashplugin-nonfree"
exit 0
