Installing flash-player in Chromium OS

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.

  1. Put all the files on a flash drive
  2. 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.)
  3. Login with the chronos user (Default no password).
  4. Change to root user
    # sudo su
  5. Mount the flash drive:
    # mkdir /tmp/disk
    # mount /dev/sdb1 / /tmp/disk
  6. Run the installer:
    # cd /tmp/disk
    # bash install.sh
  7. Unmount disk:
    # cd
    # umount /tmp/disk
  8. 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

 

Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *