El día Saturday, November 05, 2016 a las 09:19:08PM -0500, Ernesto Acosta 
escribió:

> ...
> 
> Pero eso si, creo que todos los métodos requieren de una conexión a 
> Internet, sin proxys y esas cosas raras que en Cuba vemos a diario.. ;)

Hola,

Mi respuesta viene de haberlo hecho, y no de resultados de googlear :-)

Desde hace dos años tengo dos Chromebook Acer C720. Ambos corren FreeBSD
y ahora pienso acordarme de haberlo mostrado en La Habana en una charla
en febrero de 2015. 

La cosa esencial, para instalar cualquier otro sistema como Ubuntu o
FreeBSD, es hacer un cambio en el "BIOS" (que se llama coreboot) para
que este acepte bootear otro sistema que ChromeOS. Este cambio se llama
"Legacy boot" y es parte (payload) de coreboot con nombre "SeaBIOS",
pero por defecto está desactivado. Se puede activar esto para hacer un test
por el teclado, entrando en un tal "developer mode", pero si lo quieres
activar para siempre y por defecto debes guardar dicho modo en el hardware ROM,
que normalmente está protegido en contra cualquier sobreescribir y debes
antes quitar dicha seguridad. Cómo hacer esto, depende, claro está, del
modelo. En mi caso uno debe quitar una tuerca de seguridad en el
motherboard, o sea uno debe abrir la chatarra.

Una vez haber activado el SeaBIOS, uno puede bootear cualquier sistema
desde una llave de USB e instalar lo que convenga. Adjunto mi manual de
instalación para que tengan una idea.

Saludos

        matthias

PS: Estaré otra vez en La Habana a partir del 6 de diciembre, ¿veo a
algunos de vosotros?





$Id: install-acer-c720.txt,v 1.9 2015/05/16 08:39:40 guru Exp $


      Installing HEAD into Acer C720 Cromebook



Based on: http://blog.grem.de/pages/c720.html
          https://wiki.archlinux.org/index.php/Chromebook

0. Enable legacy boot to SeaBIOS in coreboot

   make a recovery image of the ChromeOS to a 4 GByte USB stick:

   - enter ChromeOS and connect to network
     (the MAC addr is visible behind the network button (lower right corner of 
screen)
   - go with the browser to chrome://imageburner/ 
     note: in the recent ChromeOS version you must download an app for this
   - insert USB stick ...

   enter Developer Mode:

   - open the device and remove the write protection screw, close the device 
again
   - boot with: Press and hold the Esc + F3 (Refresh) keys, then press the 
Power button.
     This enters Recovery Mode.
   - Press Ctrl + D (no prompt). It will ask you to confirm, then the system 
will
     revert its state and enable Developer Mode.

   Accessing the superuser shell without having Chrome OS configured:

   - If you haven't configured Chrome OS, just press Ctrl + Alt + F2 (F2 is the 
"forward"
     arrow on the top row, →), you'll see a login prompt.
   - Use chronos as the username, it should not prompt you for a password.
   - Become superuser with sudo bash.

   Accessing the superuser shell with Chrome OS configuration:

   - Open a crosh window with Ctrl + Alt + T.
   - Open a bash shell with the shell command.
   - Become superuser with sudo bash

   Enabling SeaBIOS (for one boot)

   # crossystem dev_boot_usb=1 dev_boot_legacy=1

   Boot to SeaBIOS by default

   NOTE: you MUST have disabled the hardware write protection, or it will be 
corrupt

   # sudo su

   Disable the software write protection.

   # flashrom --wp-disable

   Check that write protection is disabled.

   # flashrom --wp-status

   Run set_gbb_flags.sh with no parameters.

   # set_gbb_flags.sh

   Note: Recent versions of Chrome OS have moved the script to
   /usr/share/vboot/bin/set_gbb_flags.sh which isn't in $PATH by default.

   Make sure you get the following output, see [7].

   GBB_FLAG_DEV_SCREEN_SHORT_DELAY 0x00000001
   GBB_FLAG_FORCE_DEV_SWITCH_ON 0x00000008
   GBB_FLAG_FORCE_DEV_BOOT_LEGACY 0x00000080
   GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY 0x00000400

   Now set SeaBIOS as default.

   # set_gbb_flags.sh 0x489

   Enable back the software write protection.

   # flashrom --wp-enable

   Your Chromebook now will boot to SeaBIOS by default, you can continue to 
install the OS FreeBSD.
   Linux, if your device is booting correctly then you should re-enable the 
hardware
   write protection. 



1. Prepare a bootable USB key with a patched -HEAD r276659

   # mkdir -p /usr/local/acerC720
   # cd /usr/local/acerC720
   # svn co -r276659 svn://svn.freebsd.org/base/head src

   I saved a copy oth this as a tar archive: src.r272526.tar.gz

   patch the -HEAD r276659:

   # cd /usr/local/acerC720/src
   # sh ../c720.patch.mkdirs
   # patch -p0 < ../c720.patch.20150105

   make and install the system the usual way into 
DESTDIR=/usr/local/acerC720/root

   # cd /usr/local/acerC720/src
   # mkdir -p /usr/local/acerC720/obj
   # MAKEOBJDIRPREFIX=/usr/local/acerC720/obj
   # export MAKEOBJDIRPREFIX
   # make buildworld
   # make buildkernel KERNCONF=GENERIC

   # cd /usr/local/acerC720
   # test -d root && chflags -R noschg root
   # rm -rf root memstick.img
   # mkdir -p /usr/local/acerC720/root
   # cd /usr/local/acerC720/src
   # make installworld  DESTDIR=/usr/local/acerC720/root
   # make installkernel DESTDIR=/usr/local/acerC720/root KERNCONF=GENERIC
   # make distrib-dirs  DESTDIR=/usr/local/acerC720/root
   # make distribution  DESTDIR=/usr/local/acerC720/root
   
   create an image of the new root in usr/local/acerC720/root; I'm using a
   modified version of src/release/i386/make-memstick.sh which allows to
   specify the size of the resulting image to be able to adjust this to
   the number of 512 byte blocks of the USB stick:

   size=33108992b
   ...
   makefs -B little -M ${size} -m ${size} -f 400000
   (XXX: is 400000 enough or to big???)

   # cd /usr/local/acerC720
   # rm memstick.img
   # ./make-memstick.sh /usr/local/acerC720/root 
/usr/local/acerC720/memstick.img
   ...
   Populating `/usr/local/acerC720/memstick.img'
   Image `/usr/local/acerC720/memstick.img' complete
   md1 created
   bootcode written to md1
   md1a added

   we can now populate the image with more stuff; all required
   files for boot ... which is now done with a small script:

   # cd /usr/local/acerC720
   # ./populate-memstick.sh

   the above also installs as well xorg, KDE, ...

   you can re-mount and check what was done with:

   # unit=$(mdconfig -a -t vnode -f /usr/local/acerC720/memstick.img)
   # mount /dev/${unit}a  /mnt
   ...
   # umount /mnt
   # mdconfig -d -u ${unit}

   to be continued...

2. Install the system from the USB key into the C720

   prepare the C720 as described in the above blog and other
   resources (XXX: archwiki url), i.e. activate permanently the
   SeaBIOS to be able to boot from USB; 

   install the system the usual way, i.e.
   - boot from USB
   - partitioning the disk (I have inserted a 128 GByte)
     /dev/ada0p1   -- 512 KByte freebsd-boot
     /dev/ada0p2   -- 115 GByte freebsd-ufs
     /dev/ada0p3   --   4 GByte freebsd-swap
     the partitioning was done using 'bsdinstall'; later I read out the
     used parameters as:
     # newfs command for / (/dev/ada0p2)
     newfs -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 16384 -h 64 -i 
8192 -j -k 6408 -m 8 -o time -s 241171456 /dev/ada0p2 
   - mount /dev/ada0p2 as /mnt
   - install
     # cd /usr/local/acerC720/src
     # make installworld  DESTDIR=/mnt
     # make installkernel DESTDIR=/mnt KERNCONF=GENERIC
     # make distrib-dirs  DESTDIR=/mnt
     # make distribution  DESTDIR=/mnt
   - reboot
   - tzsetup
   - populate with packages
   - copy 'src' and 'obj' to /usr/local/acerC720

3. Some special tweakings on the C720

   keyboard related changes:

   the C720 has a very limited keyboard (no Windows key, no hardware
   power-off key, ...); we have to tweak the keyboard a bit:

   in console mode:

   hw.acpi.power_button_state=NONE in /etc/sysctl.conf
   to avoid shutdown via the ACPI key
   and reallow 'pdwn' with Shift-ALt-powerdown key; see /etc/c720.kbd and
   /etc/rc.conf

   in X11 / KDE4 mode:

   general layout see ~guru/.kde4/Autostart/xmod.sh:
   which does:
   - swaps Alt_l with Windows-key
   - uses (old) CapsLock as ALt-l
   - uses (new) Win-key as Mode_switch
   - configures Prior and Next keys as Mode_switch+Up/Down
   - configures Spanish tilded chars: áíóéñ...

   in addition we start xbindkeys (see ~guru/.xbindkeysrc) to configure
   - Alt+F6: "intel_backlight decr"
   - Alt+F7: "intel_backlight incr"
   to control the display brightness

   and we configure in KDE System Settings --> ShortCuts --> Global --> KMix:
   - Alt+F8  Mute
   - Alt+F9  Decrease Volume
   - Alt+F10 Increase Volume



   Touchpad layout/functions:
   (stolen from http://blog.grem.de/pages/c720.html)
   
                 2/3               1/3
        +--------------------+------------+
        |                    |   Middle   |
        |                    |   Button   |
        |       Left         |            |
        |      Button        +------------+
        |                    |   Right    |
        |                    |   Button   |
        +--------------------+............|
        |     Thumb/Button Area           | 15%
        +---------------------------------+
   
   Two finger scrolling   - Use two fingers for Z axis scrolling.
   
   Button down/2nd finger - While one finger clicks and holds down the
                            touchpad, the second one can be used to move
                            the mouse cursor. Useful for drawing or
                            selecting text.
   
   Thumb/Button Area      - The lower 15%* of the trackpad will not affect
                            the mouse cursor position. This allows for high
                            precision clicking, by controlling the cursor
                            with the index finger and pushing/holding the
                            pad down with the thumb.
                            * can be changed using sysctl
   
   Track-pad button       - Push physical button. Left 2/3rds of the pad
                            will issue a LEFT button event, upper right
                            corner will issue a MIDDLE button event,
                            lower right corner will issue a RIGHT
                            button event. Optionally tap to click
                            can be enabled (check *cyapa(4)* for details).
   

   my values in /etc/sysctl.conf are:

   debug.cyapa_enable_tapclick=3
   debug.cyapa_tapclick_max_ticks=20

   see also man cyapa(4)

-- 
Matthias Apitz, ✉ g...@unixarea.de, ⌂ http://www.unixarea.de/  ☎ 
+49-176-38902045
1990, when the Russians stood in Germany at river Elbe, we have had peace. 
Today the
NATO stands in the Baltic States, in Poland ..., and we have war all over the 
world.
1990, cuando los Rusos estaban en Alemania al río Elba, había paz. Hoy la OTAN 
está
en los países bálticos, en Polonia, ..., y tenemos guerra por todo el mundo.
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a