Jump to content

Surface Pro 4 - Arranque cuádruple (Linux-Android-Mac Mojave-Win10)


6 posts in this topic

Recommended Posts

Mi intención al crear esta guía es mostrar las formas de instalación de múltiples sistemas operativos en la Surface Pro 4, y que a poder ser, convivan entre ellas. También busco unificar información para resolver los problemas que surjan y solucionar los ya existentes.
Voy a intentar en la medida de lo posible ir actualizando el post con la nueva información y consejos que reciba tanto de vosotros, como la que encuentre por el mundo.

Dicho esto, mi Surface Pro 4 es la versión Core i5, de 128 GB, ampliada a 512GB de almacenamiento interno y 4 GB de Ram.

Voy a instalar en mi disco duro interno Windows, Linux y Android y Mojave, dejando la tarjeta MicroSD libre.
Haciéndolo de este modo, siempre nos va a quedar libre nuestro puerto USB.

Herramientas necesarias (hardware):
Un segundo ordenador.
1 pendrive de unos 10GB para la recuperación de Windows en caso de ser necesario.
1 pendrive de 8 GB para de instalación de Hackintosh.
1 pendrive de 2GB para la instalación de Linux.

1 pendrive de unos 512MB para la instalación de Macrium
1 teclado USB
1 ratón USB
1 hub de 4 puertos USB



Herramientas necesarias (software):

1.- Rufus (herramienta para crear discos de arranque bajo Windows).

http://rufus.akeo.ie/?locale

 

2.- Aplicación EasyUefi (de pago)

https://www.easyuefi.com/index-us.html


3.- StopUpdates10 (Herramienta maravillosa que va a deshabilitar las actualizaciones de Windows 10. Se pueden activar de nuevo con un click. El motivo de hacerlo, es que dichas actualizaciones pueden romper el arranque múltiple, aparte de que yo soy de los que prefiere reinstalar el sistema operativo cada X tiempo, que estar cada 2x3 liado con actualizaciones parciales, que suelen fallar más que una escopeta de feria.

https://greatis.com/blog/thanks-stopupdates10



Comenzamos por Windows...:

 

Vamos a partir desde cero, reinstalando Windows en la Surface. Antes de nada, guardar fuera de la Surface todo lo que no queráis perder.

1.- Crea un pendrive de recuperación de Windows desde el enlace oficial de Microsoft.
En caso de necesidad, podrás restablecer tu Surface al estado de fábrica con ese pendrive.

https://www.microsoft.com/surface/es-es/support/warranty-service-and-recovery/downloadablerecoveryimage


2.- Una vez tengamos a buen recaudo nuestro USB de recuperación de Windows, procedemos a encender la Surface con el botón de volumen+ presionado para acceder a la bios.

3.- Vamos a "Security" - "Secure Boot" - "Change configuration" y ponemos "None"
Deshabilitamos también Trusted Platform Module (TPM).

Una vez hagamos esto, el Surface nos va a permitir iniciar cualquier otro sistema operativo. Nos va a aparecer cuando lo iniciemos una franja roja con un candado (buena señal).

Utilizamos nuestro pendrive de recuperación de Windows para restaurar por completo la Surface. Iniciamos la máquina con el botón de Volumen + pulsado para acceder a la Bios, y marcamos como inicio "Unidades extraíbles USB" y seguimos los pasos para restaurar la Surface.

Con nuestro Windows recién restaurado, NO NOS CONECTAREMOS A INTERNET PARA NADA. Deshabilitamos el Wifi !!!

Lo siguiente que haremos es deshabitar la hibernación, ejecutando lo siguiente como administrador.
powercfg.exe /hibernate off

 

También deshabilitaremos en opciones de energía el inicio rápido. Si no lo hacemos, no vamos a poder acceder a las particiones NTFS desde Linux u otro sistema operativo, ya que Windows las bloquea.

Instalamos la aplicación que ya teníamos descargada "stopupdates10" y simplemente le damos a deshabilitar actualizaciones. No es necesario tocar nada más. De vez en cuando la herramienta debe actualizarse... Una vez deshabilitadas las actualizaciones, reiniciamos Windows y ya podemos conectarnos a internet.


 

Seguimos con la instalación de GNU/Linux (Kubuntu 18.10 LTS):
Nos vamos a la página de Kubuntu y descargamos la versión 18.10 64 bits Desktop. Puede usarse cualquier otra distribución.

http://cdimage.ubuntu.com/kubuntu/releases/18.10/release/kubuntu-18.10-desktop-amd64.iso

Una vez descargada la imagen ISO del sistema, desde Windows, insertamos una nueva unidad USB de 2 GB y abrimos el programa Rufus, seleccionamos la imagen descargada, nuestra unidad de USB y seleccionamos GPT para UEFI. Si solicita descargar archivos, aceptar y dejar el resto por defecto.
Una vez termine la creación del disco de arranque de Linux, extraemos la unidad y reiniciamos la Surface.

 

Iniciamos de nuevo desde USB. Cuando pregunte, le ponemos español y seleccionamos probar el sistema.

Una vez veamos el escritorio, lo primero que vamos a hacer es conectarnos a internet. Una vez conectados, abrimos una terminal "konsole" y tecleamos los siguientes comandos, uno por uno pulsando intro, y respetando mayúsculas y minúsculas (usar copia y pega):

 

sudo apt update

sudo apt install gparted -y

sudo gparted

 

Al ejecutar el último comando, se nos va a abrir el gestor de particiones llamado gparted (no cerréis la terminal, o se cerrará gparted).

En la siguiente captura podéis ver mi esquema de particiones (falta otra para Android)

Gparted.thumb.jpg.a9e4db92eb2ed9ea86fceaa91be6cb03.jpg

 

*La primera de ellas, llamada nvme0n1p1 corresponde con la EFI (no se toca).

*La segunda de ellas, llamada nvme0n1p2 corresponde con una partición reservada para Windows. (no se toca).

*nvme0n1p3 es otra partición de Windows. (no se toca).

*nvme0n1p4 es la partición del sistema operativo Windows 10. Esa partición debemos redimensionarla para dejar espacio al resto de sistemas. Para ello, pulsamos con el ratón encima de ella, botón derecho y pulsamos sobre redimensionar/mover. Reducimos el tamaño de Windows a lo que necesitemos. En mi caso, con un disco duro de 512 GB, he dejado para Windows 100GB (espacio más que suficiente). En la mayoría de casos, con 25 GB llegaría.

 

redimensionar.jpg.bf03e040a21a9e3a57b24e79682c3580.jpg

 

*nvme0n1p5 sería la partición de Mac una vez instalado el sistema. Desde Linux se vería así.

*nvme0n1p6 partición de instalación del sistema operativo Linux.

*nvme0n1p7 Partición de intercambio de datos entre todos los sistemas y donde instalo los juegos de Windows. Le he llamado Steam, vosotros podéis llamarla como queráis.

*nvme0n1p8 Partición de memoria extendida de Linux.

Una vez redimensionada la partición de Windows, aplicamos cambios con la "V" que se encuentra debajo de "Editar Ver Dispositivo"

 

Una vez aplicados los cambios, aparecerá un espacio libre a continuación llamado (sin asignar). Pulsando sobre ese espacio libre vamos a crear el resto de particiones para los otros sistemas.

Pulsamos el botón derecho del ratón encima, y le damos a Nueva:

 

Linux >> Necesitamos 2 particiones:

1.- Para el sistema operativo >> Tamaño: 100GB (o lo que necesitéis) >> Sistema de archivos ext4 >> Etiqueta Kubuntu  >> Nombre de la partición (Kubuntu)

Aplicamos cambios. Pulsamos de nuevo sobre el espacio libre disponible.

2.- Para la memoria de intercambio Swap >> Tamaño 1-2 GB >> Nombre partición Swap >> Etiqueta Swap >> Sistema de archivos: linux-swap

Aplicamos cambios. Pulsamos de nuevo sobre el espacio libre disponible.

 

Mac OS >> Necesitamos 1 partición:

1.- Para el sistema operativo >> Tamaño: 100GB (o lo que necesitéis) >> Sistema de archivos fat32 >>Nombre partición: MAC >> Etiqueta: MAC

Aplicamos cambios. Pulsamos de nuevo sobre el espacio libre disponible.

 

Android >> Necesitamos 1 partición:

1.- Para el sistema operativo >> Tamaño 10 GB (o lo que necesitéis) >> Sistema de archivos ext4 >> Nombre partición: Android >> Etiqueta: Android

Aplicamos cambios.

 

Intercambio entre sistemas >> Necesitamos 1 partición

1.- Para almacén de datos que sea visible y usable por todos los sistemas operativos instalados >> Tamaño: Todo lo que os sobre >> Sistema de archivos NTFS >> Nombre partición: Steam >> Etiqueta: Steam

 

Ahora que ya tenemos la Surface particionada, instalamos Linux, aunque no vamos a realizar la instalación normal, ya que debido a un fallo en el instalador, cuando el sistema intenta instalar el cargador de arranque (Grub) no lo consigue, y la instalación falla. Por ese motivo, vamos a hacerlo desde la terminal:

 

Hay que iniciar el instalador de Linux desde la terminal konsole, usando el comando:

sudo ubiquity -b
 
Con ese comando, se realiza la instalación normal, pero se omite la instalación del grub. Cuando termine la instalación, instalaremos el grub manualmente.
 
virtualbox-1.png.bdbc47687ef608807d67eed0a07d9e6d.png
Le damos a Probar Kubuntu
 
 
virtualbox-2.png.44a2191da54921e314dfcefc9f0010e4.png
 
 
 
virtualbox-3.png.3be2c16c0acac42b007b21941e221956.png
 
 
 
virtualbox-4.png.eef866ebafe964fc83145b0d06d9f309.png
 
 
 
virtualbox-5.png.3c31f1f427d6a768590ec0cd0e7d535b.png
 
 
Llegados a este punto, escogemos manual. Nos van a aparecer todas las particiones del disco duro.
 
Buscamos nuestra partición de Windows (donde está instalado el sistema Windows 10). 
Pulsamos sobre la partición, cambiar, tipo de partición NTFS, punto de montaje /media/Windows
No formateamos nada.
 
Ahora buscamos nuestra partición de datos, a la que yo llamo Steam
Pulsamos sobre la partición, cambiar, tipo de partición NTFS, punto de montaje /media/Steam
No formateamos nada.
 
Ahora buscamos nuestra partición de Linux, a la que yo llamo Kubuntu
Pulsamos sobre la partición, cambiar, tipo de partición ext4, punto de montaje /
No formateamos nada.
 
Ahora buscamos nuestra partición de memoria de intercambio a la que yo llamo Swap
Pulsamos sobre la partición, cambiar, tipo de partición Swap
 
Ahora buscamos nuestra partición de Android, a la que yo llamo Android
Pulsamos sobre la partición, cambiar, tipo de partición ext4, punto de montaje /media/Android
No formateamos nada.
 
Veremos abajo del todo que nos pregunta donde queremos instalar el cargador de arranque. Lo dejamos por defecto.
 
 
virtualbox-6.png.d429d47203b5890c103f352320d467ff.png
 
virtualbox-7.png.fa055bebea0986ec50565f09788e410c.png
 
 
Cuando termine la instalación, NO REINICIAMOS, seguimos probando el sistema. Iniciamos una terminal y ejecutamos:
(cambiando si es necesario nvme0n1p1nvme0n1p6 por la partición que corresponda con vuestra instalación). Tenéis que localizar vuestra partición EFI y vuestra partición del sistema operativo Kubuntu. Lo podéis ver en la aplicación gparted. En mi caso las particiones EFI y del sistema corresponden con estas:
nvme0n1p1 >> EFI
nvme0n1p6 >> Partición de instalación del sistema operativo Linux.
 
Estos son los comandos que hay que ejecutar. Recordar lo que acabo de decir arriba y hacer cambios si proceden. Usar copia y pega. Un comando (una línea) de cada vez, pulsando intro.
 
sudo mount /dev/nvme0n1p6 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
modprobe efivars
sudo apt-get install --reinstall grub-efi-amd64
sudo grub-install --no-nvram --root-directory=/mnt
sudo chroot /mnt
sudo update-grub
cd /boot/efi/EFI/
sudo cp -R ubuntu/* Boot/
cd Boot
sudo cp grubx64.efi bootx64.efi
 
Ahora podemos reiniciar el sistema y ya deberíamos poder iniciar Windows y Linux desde el grub.

Encendemos de nuevo la Surface con el botón de volumen+ apretado para acceder a la Bios. En Boot configuration dejamos solamente activado “ubuntu” y salimos.

Al iniciarse la Surface, vamos a Linux.
Nos conectamos de nuevo a internet.
Ahora vamos a instalar la última versión del escritorio Plasma (Tiene mejoras para pantallas con mucha resolución HiDPI)
Abrimos una terminal (konsole) y escribimos:

sudo apt-add-repository -y ppa:kubuntu-ppa/backports       y pulsamos intro. Nos va a pedir nuestra clave de usuario. No aparece nada cuando la tecleamos, es normal. Cuando la escribamos, pulsamos intro.
sudo apt update
sudo apt dist-upgrade -y

Cuando termine, reiniciamos de nuevo el Surface e iniciamos de nuevo con Linux.
Estas cosillas que pongo ahora son totalmente opcionales. La Surface tiene mucha resolución de pantalla, y muchas cosas se ven demasiado pequeñas. Podemos ponerlas un poco más grandes con estos tips:
inicio-Equipo-Preferencias del sistema.

1.- En la sección de Tipos de letra-forzar ppp a 130 aproximadamente
2.- En la sección de Pantalla y monitor-configuración de la pantalla-escalar pantalla-scale a 2.5x aproximadamente.
Guardamos cambios y reincidamos. (con eso veremos todo un poco más grande).

Si utilizamos Firefox o Thunderbird, podemos hacer que se vea más grande. En Firefox tenemos que poner en la barra de búsqueda:
about:config y buscar la entrada: layout.css.devPixelsPerPx     Ponemos el valor a 2 y cerramos el Firefox.

En Thunderbird es igual, pero accediendo a esa ruta desde preferencias avanzadas de la aplicación. La cadena a editar el la misma, y el valor también.

 


Instalando el nuevo kernel que hará funcionar la pantalla táctil y el lápiz:
La forma más sencilla de hacerlo es crear un "alias". Una vez creado, solo hay que ejecutar esa orden para que el kernel especial se instale o actualice por completo.

He añadido a este alias la instalación de una aplicación estupenda que elimina publicidad de internet a punta pala. Se llama "hosty". Su función es descargar de internet la última versión de ficheros de publicidad, bloqueándolos desde el archivo hosts del sistema.

Abrimos una konsole, copiamos y pegamos todo lo siguiente de golpe:

 

sudo apt-get install -y curl wget && sudo rm /usr/local/bin/hosty ; sudo wget -c https://github.com/juankfree/hosty/raw/master/hosty -O /usr/local/bin/hosty ; sudo chmod +x /usr/local/bin/hosty && hosty

 

Cuando termine, de nuevo en la terminal ejecutamos (copia & Pega):

nano ~/.bashrc

 

Se nos va a abrir un archivo de texto en la terminal donde debemos pegar una línea. Bajamos con la rueda del ratón hasta que encontremos lo siguiente:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Y a continuación de este texto, hacemos click y pegamos todo el texto que pongo a continuación en una nueva línea justo debajo:

 

alias actualizar-surface='hosty && sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade && sudo apt-get autoremove && sudo apt-get clean && sudo apt-get autoclean && rm -r linux-surface || sudo apt-get install -y git curl wget sed && git clone https://github.com/jakeday/linux-surface.git ~/linux-surface && cd linux-surface && sudo sh setup.sh'

 

Una vez añadida esa línea, a continuación copiamos y pegamos también la siguiente, creando otra línea nueva:

alias fix-surface-touch='xset dpms force off && xset dpms force on'

 

Esa última línea nos activará un comando para si alguna vez nos falla la pantalla táctil, podamos restaurarla. Para hacerlo, solamente hay que abrir una terminal y escribir:

fix-surface-touch

 

Una vez pegadas esas líneas, pulsamos las teclas control + X para que nos pregunte si deseamos guardar el archivo, y le decimos que si.

Una vez cerrado el editor de texto, ejecutamos lo siguiente (copia & pega):

source ~/.bashrc

 

Con eso ya hemos creado un "alias" llamado "actualizar-surface" que al ejecutarlo desde una terminal primero va a recargar nuestras listas de bloqueo de publicidad (hosty), después va a actualizar las fuentes de software del sistema, va a buscar actualizaciones y si las hay las va a instalar. Después de eso, va a instalar el último kernel para que funcione la pantalla táctil, el lápiz, etc en la Surface.

También se ha añadido el comando "fix-surface-touch" que repara la pantalla táctil si alguna vez se cae y deja de funcionar.

Procedemos a hacerlo... Abrimos una terminal y ejecutamos:

actualizar-surface

 

Cuando lleguemos al final del trabajo que hace ese script, nos va a preguntar varias cosas. La primera de ellas es que si estamos usando una Surface Pro 4. Debemos pulsar intro para confirmar.

Después de eso, nos va a preguntar otras cosas, a las que debemos responder "yes" y presionar intro cada vez que pare y pregunte hasta que termine Cuando nos pida reiniciar la Surface ya debería estar todo instalado y configurado para funcionar.

Reiniciamos

 

 

 

Instalación de Android (BlissOS)

Descargamos de internet la última versión del sistema operativo BlissOS para nuestra Surface. Tenemos que descargar entre todas las ISOS de todas las versiones que aparecen en el listado "bleeding edge" la más actual que lleve IPTS en su nombre. IPTS significa Intel Precision Touch and Stylus, resumiendo, la pantalla táctil.

https://sourceforge.net/projects/blissos-x86/files/Official/bleeding_edge/

 

Una vez descargada la imagen iso, la abrimos con el gestor de archivos comprimidos ark, y la extraemos. (botón derecho, extraer, detectar carpeta).

Ahora tenemos que darle permisos a nuestra partición de Android, para que podamos escribir en ella. Si la habéis llamado como os dije, y la habéis montado también donde os dije, los comandos, teniendo en cuenta que vuestro usuario se llame fulanito... son estos: (son dos comandos diferentes, y debéis cambiar fulanito por vuestro usuario):

sudo chown fulanito /media/Android

 

sudo chmod -Rf 777 /media/Android

 

Una vez hecho eso, ya podemos copiar todo el contenido de la ISO que hemos descargado a nuestra partición de Android. Estos son los archivos extraídos de la ISO que deben copiarse en la raíz de la partición de Android:

boot, efi, isolinux, Androidx86-Installv26.0003.exe, kernel, boot.img, initrd.img, install.img, ramdisk-recovery.img, ramdisk.img, recovery.img, system.sfs
 

De nuevo en Linux, vamos a añadir la entrada de Android Bliss a nuestro gestor de arranque grub. Nos conectamos a internet, abrimos una terminal y copiamos y pegamos esto:

sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer && sudo apt-get update && sudo apt-get install -y grub-customizer && grub-customizer

 

Una vez puesta la clave de usuario y abierta la aplicación, pulsamos en un icono que hay con un documento en blanco con un signo + en verde.


photo_2019-01-24_13-21-31.jpg.042e3210ad101a48b501a99ead118d47.jpg
 

 

En la ventanita que aparece, ponemos esto:

Nombre: Bliss

Tipo: Otro

Secuencia: (copiamos todo lo siguiente junto)

search --no-floppy --fs-uuid --set=root 55336145-4d27-4fd5-b9b1-d973adf5f30e
linux /kernel initrd=/initrd.img boot=LABEL=Android disk=LABEL=Android quiet root=/dev/ram0 androidboot.hardware=android_x86_64 androidboot.selinux=permissive quiet SERIAL=random SRC= DATA= CREATE_DATA_IMG=1
initrd /initrd.img

 

 

Ahora sin cerrar la ventana ni aceptar cambios, nos fijamos en la parte del texto que está en negrita (55336145-4d27-4fd5-b9b1-d973adf5f30e). Esa cadena de números y letras, son el identificador único de MI partición Android, que NO va a ser igual que la TUYA, con lo que NO te va a funcionar.

Tienes que averiguar cual es la UUID de TU partición y cambiarlo por el mío.

Hacerlo es muy sencillo, abres una konsole nueva sin cerrar la que ya tienes abierta, la pones a pantalla completa para ver bien, y ejecutas lo siguiente:

sudo blkid

 

Al hacer esto, te va a aparecer información de todas tus particiones, incluyendo sus UUID's. Únicamente hay que buscar entre todas las particiones disponibles, tu partición de Android, copiar el UUID, y reemplazarlo por el mío en la entrada del grub-customizer y guardar los cambios.

 

Una vez hecho eso, nos vamos "Configurador de la apariencia". Ahí únicamente tocamos el tipo de letra (importante). Yo lo tengo en DejaVu Sans Book 21 y funciona y se ve bien.

Esto es para que se vea el texto del cargador de arranque más grande. Si tocáis otros parámetros, igual os cargáis el arranque y la liamos ;)

Ahora vamos a (Configurador de la lista), y buscamos la entrada de Bliss. Pulsamos sobre ella, y usando las flechitas de arriba, la subimos hasta la segunda posición.

Guardamos cambios y salimos.

 

Creación del archivo de datos persistentes para Android

Hay que ejecutar estos dos comandos y esperar un poco, ya que el primero de ellos tarda un rato... De nuevo, suponiendo que habéis montado la partición de Android en /media/Android

Donde 8000  (8GB) es el tamaño del archivo persistente (donde se guardan los datos de Android. Si elimináis este archivo, es como si formatearais Android). Si vuestra partición Android es de menor tamaño, debéis ajustar esa cifra, cambiándola por 7000, 6000, etc.

 

sudo dd if=/dev/zero of=/media/Android/data.img bs=1M count=8000
 
sudo mkfs.ext4 /media/Android/data.img

 

Con esto ya tenemos Android instalado.

Hay que resaltar que cada vez que queramos actualizar Android, tenemos que abrir Linux, ir al directorio Android, y eliminarlo todo EXCEPTO el archivo data.img

Luego descargamos la iso de la nueva versión de BlissOS, extraemos el contenido igual que antes y lo copiamos de nuevo en nuestra partición Android. No hay que hacer nada más.

En caso de que tengamos problemas con los datos de la instalación anterior, como fallos de aplicaciones, servicios, etc, simplemente formateamos el archivo data.img con el siguiente comando:

sudo mkfs.ext4 /media/Android/data.img
 

Al hacer eso, cuando inicie Android, será como si iniciara por primera vez, con lo que tendremos que configurarlo todo de nuevo.

Para iniciar Android, Iniciamos Linux desde el cargador de arranque Clover, y después seleccionaremos la entrada Bliss.
 

Instalación del Firmware para que funcione la pantalla táctil en Android

Vamos a utilizar el mismo Firmware que usamos para la pantalla táctil de nuestro Linux.

Para poder copiar los archivos necesarios en Android, debemos seguir unos pasos. El primero es para poner el sistema de ficheros de Android en modo lectura y escritura, ya que debemos copiar los archivos necesarios en zonas protegidas del sistema:

Iniciamos desde Linux, e instalamos los programas necesarios.

sudo apt install nemo-fileroller squashfs-tools rar unrar

Nos vamos al directorio de instalación de Android, y vamos a ver un archivo llamado system.sfs. Este archivo debe ser extraído con la aplicación que hemos instalado. Nos ponemos encima del archivo, pulsamos el botón izquierdo del ratón, abrir con: y buscamos file-roller

Una vez se abra la aplicación, le damos a extraer en, por ejemplo, nuestro directorio personal.

Nos vamos a nuestro directorio personal, y vamos a encontrar lo que hemos extraído, concretamente un archivo llamado system.img

Lo que tenemos que hacer ahora, es renombrar el archivo original de Android llamado system.sfs, cambiándole el nombre por system.sfs.old

Una vez le tengamos cambiado el nombre, copiamos el archivo system.img que hemos extraído al directorio raíz de Android.

Nos vamos al directorio raíz de Android, y pulsamos el ratón derecho en una zona sin nada en la pantalla, seleccionamos abrir terminal aquí.

Los comandos son los siguientes (2), cambiando los directorios en caso de ser necesario:

 

sudo mv system.sfs system.sfs.old

 

sudo cp /home/TU-USUARIO/system.img /media/Android

 

Ahora que ya podemos modificar archivos del sistema, procedemos a descargar el Firmware. Nos vamos a la siguiente página:

https://github.com/jakeday/linux-surface/tree/master/firmware

y escogemos la versión del Firmware que corresponda a nuestra máquina. En nuestro caso, como es una Surface Pro 4, necesitamos la versión v78.

Os dejo la tabla para otras versiones de Surface a continuación:

 

v76 para la Surface Book
v78 para la Surface Pro 4
v79 para la Surface Laptop
v101 para la Surface Book 2 15"
v102 para la Surface Pro 2017
v137 para la Surface Book 2 13"
 

Una vez descargado nuestro firmware (v78), descomprimimos el archivo. Nos va a crear un directorio llamado ipts_firmware_v78.

Ahora lo que tenemos que hacer, es crear una nueva carpeta llamada intel. Dentro de ella creamos otra llamada ipts, y dentro de esta última, deben estar todos los archivos del firmware, que son 10 archivos. Es muy importante que respetéis las mayúsculas y minúsculas de los nombres de carpeta...

 

Ahora simplemente hay que copiar esa carpeta llamada intel al directorio de Android que corresponda.

Para ello, la copiamos primero a nuestro directorio raíz de Android desde la terminal:

sudo cp -rf intel* /media/Android

 

Ahora ya podemos reiniciar la Surface e iniciar desde Bliss.

Una vez iniciado Bliss, abrimos una terminal y escribimos:

su

Hay que darle permisos de administrador cuando pregunte.

Ahora copiamos la carpeta intel al directorio /system/lib/firmware

el comando es el siguiente, suponiendo como siempre que la ruta de archivos es la correcta. Cambiarla si es necesario:

cp -rf intel* /system/lib/firmware

 

Si no os da ningún error al copiar, ya podéis reiniciar Bliss. La pantalla táctil debería funcionar después del reinicio.

 

Instalación de Android Phoenix OS

Muy buena alternativa a Bliss. Funciona mucho más fluido, pantalla táctil funcionando de serie, trae las aplicaciones de Google instaladas por defecto, root por defecto, posibilidad de escalar texto e iconos de la pantalla, etc, etc.

 

Para instalar esta rom, no hay que hacer nada especial. Partiendo de la instalación anterior de Bliss, simplemente hay que eliminar todos los archivos de nuestra instalación de Bliss (no formatear la partición), descargar la última versión de Phoenix OS, extraer el contenido y copiarlo en nuestro directorio de Android.

Las entradas que ya teníamos hechas de antes para el grub nos sirven exactamente igual. Lo único es que el nombre que nos va a aparecer en el grub va a ser Bliss... pero si queremos podemos cambiarlo fácilmente. Abrimos grub-customizer, buscamos la entrada de Bliss que creamos antes y la editamos. únicamente debemos cambiar el nombre de Bliss >> Phoenix OS. El resto permanece igual.

 

A la hora de eliminar todo el contenido de Bliss para poner en su lugar los archivos de Phoenix OS, recomiendo borrarlo todo a excepción del archivo de datos persistentes "data.img". Más que nada, porque si lo borramos hay que crearlo de nuevo, y tarda un rato. Mejor opción es formatear ese archivo.

Recordar que los comandos eran los siguientes:

 

Este primero para crear el archivo data.img por primera vez: (tarda un rato)

sudo dd if=/dev/zero of=/media/Android/data.img bs=1M count=8000
 
El segundo para formatear el archivo data.img (no tarda)
sudo mkfs.ext4 /media/Android/data.img

 

También recordar que si no os deja eliminar archivos en la partición de Android, debéis ejecutar este comando:

sudo chown TU-NOMBRE-DE-USUARIO /media/Android

 

Seguimos... Una vez eliminado todo el contenido de la partición de Android, descargamos la última imágen ISO de Phoenix OS para Pc x86 del siguiente enlace:

http://www.phoenixos.com/es_ES/download_x86

 

Una vez descargada, la extraemos con nuestro gestor de archivos comprimidos (ark, file-roller o cualquier otro) y extraemos el contenido de la ISO, copiándo todos los archivos de su interior en nuestro directorio de Android.

Si hemos eliminado el archivo data.img lo creamos de nuevo con el comando de arriba.

Si ya le teníamos de antes, lo formateamos con el comando de arriba.

 

Ya podemos reiniciar la Surface e iniciar desde Phoenix OS.

Lo primero que tenemos que hacer en el primer inicio es poner un nombre de usuario, conectarnos a internet, ir al panel de control y cambiar los teclados a español, eliminar las versiones inglesas, etc. Tenemos también que buscar la opción de tamaño de pantalla y tamaño de letra y subirlas a nuestro gusto.

Después de eso, hay que deshabilitar un par de aplicaciones de lo más molestas... Los desarrolladores de la distribución han visto conveniente meter una aplicación de publicidad de lo más molesta.

Recomiendo encarecidamente instalar Titanium Backup de la tienda (es de pago), que nos va a permitir "congelar" estas aplicaciones para que no molesten.

Abrimos Titanium, buscamos Phoenix VIP y le damos a congelar. También lo hago con el explorador que trae por defecto y con las apps chinas.

Otra opción es instalar Blokada desde la página oficial. Esa aplicación open source permite deshabilitar la publicidad tanto de los navegadores como de muchas aplicaciones.

Dejo un pequeño vídeo de como configurarlo (altamente recomendada y no necesita root)

https://www.androidsis.com/como-configurar-blokada/

 

Una vez bloqueado y eliminado el contenido molesto, reiniciamos y ya debería funcionar todo sin complicaciones.

Aunque Phoenix trae una opción de actualización, NO la uséis, ya que lo único que vais a conseguir es romper el sistema.

Cuando salga una versión nueva de Phoenix, la descargáis, extraéis y sobreescribís el contenido en vuestra partición de Android, eso es todo.

 


Instalación de Hackintosh Mojave

Nos creamos un usuario en esta página para poder descargar los archivos necesarios:

https://olarila.com/forum/viewtopic.php?f=51&t=6743

 

Una vez logeados con nuestro usuario, descargamos la imagen del sistema operativo 10.14.3 (o la última disponible).

También vamos a necesitar la aplicación etcher para Linux:

https://etcher.io/

 

Una vez descargados los dos archivos, insertaremos un pendrive de mínimo 8GB, y ejecutamos etcher. Esta aplicación nos va a servir para crear el disco de arranque de Mojave.

Una vez ejecutado etcher, nos pide la ubicación de la imagen que hemos descargado de Mojave, y también nos pregunta en que unidad USB queremos grabarla. Recomiendo usar un puerto USB 3, así como una unidad USB 3 también, ya que podría tardar un buen rato.

Una vez creado el pendrive de Mojave, debemos instalar el cargador de arranque Clover. Lo normal sería instalar Clover primero en el pendrive para hacerlo bootable, pero para eso necesitamos tener un Mac...

Si tenéis un Mac, descargáis Clover Bootloader desde aquí:

https://sourceforge.net/projects/cloverefiboot/

 

Y también el archivo Clover Configurator desde aquí:

https://mackie100projects.altervista.org/download-clover-configurator/

 

Procedemos a instalar en nuestro Mac la aplicación Clover Configurator, insertamos el pendrive de Mojave que creamos antes y ejecutamos Clover Configurator. Vamos a ver un apartado que pone Montar EFI, que es lo único que debemos tocar de esta aplicación en un Mac real. Le damos a montar EFI, seleccionando la EFI del pendrive de Mojave, no la del disco duro interno del Mac. Una vez tengamos montada la partición EFI del pendrive, instalamos Clover Bootloader. Personalizamos la instalación, seleccionando el USB de Mojave, y en las opciones de instalación, tenemos que marcar las dos primeras, que son:

*Instalar para UEFI

*Instalar en la partición ESP

 

Una vez finalizada la instalación de Clover Bootloader, abrimos la partición EFI del pendrive de Mojave (que estará en el escritorio, en caso de que no aparezca, le damos a propiedades en el finder y marcamos mostrar discos duros.)

Dentro de esa partición, vamos a ver una carpeta llamada EFI, y dentro de ella otra llamada CLOVER. Pinchamos sobre la carpeta CLOVER y la borramos.

Descargamos el siguiente archivo, que contiene la carpeta CLOVER modificada para la Surface:

https://www.mediafire.com/file/jaoxfy42nv3b9t9/Mojave_Surface_Pro_4_OK.zip/file

Descomprimimos este archivo, y veremos una carpeta llamada también CLOVER. La copiamos y la pegamos donde estaba la otra que borramos.

Con esto, ya tenemos listo el pendrive bootable de Mojave para la Surface Pro 4.

Expulsamos el pendrive de Mojave (todas las particiones).

Si lo hacemos de este modo, para instalar Mojave, iniciamos la Surface con el botón de volumen+ pulsado para acceder a la bios, y marcamos USB (nunca borramos opciones, solamente marcamos y/o desmarcamos).

Iniciamos desde el pendrive, saltando a la parte siguiente de este tutorial, Vamos ahora a instalar Mojave...

 

 

Alternativa a la creación del USB de arranque, pero paso obligado una vez Mojave esté instalado en el sistema.

Este paso es para hacer lo mismo que se hace desde un Mac real (Clover Bootloader), pero como es posible que mucha gente no tenga un Mac, vamos a instalar Clover directamente en la partición EFI de nuestro disco duro, usando Linux y Windows, saltando el paso de instalar Clover Bootloader en el pendrive.

Para hacer esto, necesitaremos una aplicación llamada EasyUefi.

 

Iniciamos desde nuestro querido Linux y descargamos el mismo archivo de antes:

https://www.mediafire.com/file/jaoxfy42nv3b9t9/Mojave_Surface_Pro_4_OK.zip/file

Descomprimimos el archivo, y copiamos la carpeta CLOVER a nuestro directorio personal.

 

Abrimos una terminal y montamos nuestra partición EFI con estos comandos, poniendo la clave cuando la pida como siempre y cambiando fulanito por el nombre de nuestro usuario:

sudo mkdir -p /media/EFI

sudo mount /dev/nvme0n1p1 /media/EFI/
sudo su

sudo cp -R /home/fulanito/CLOVER/ /media/EFI/EFI/

 

Reiniciamos Linux e iniciamos Windows, ejecutando la aplicación EasyUefi. El cometido de esta aplicación es sencillo, añadir una entrada de booteo (arranque) a la bios del sistema.

Presionamos en Manage EFI Boot Option.

Pulsamos el icono de Create a new entry (+ verde).

 

Type: Linux or other OS

Description: Clover

Pulsamos en Disk0 GPT (La primera partición- Hay un circulito blanco en ella)

File Path: Browse >>  EFI/CLOVER/CLOVERX64.efi

Pulsamos sobre la entrada llamada Clover que hemos creado, y con las flechas de arriba la ponemos en primera posición.

Cerramos el programa.

Con eso, ya tenemos el gestor de arranque Clover instalado en nuestra partición EFI, y va a ser el encargado de iniciar Windows, Mojave y Linux >> BlissOS.

 

Vamos ahora a instalar Mojave...

Iniciamos la Surface normalmente con el pendrive del instalador de Mojave insertado. Si hemos instalado Clover Bootloader en el pendrive, iniciamos la Surface desde USB. Si hemos instalado Clover Bootloader en la partición EFI creada por Windows llamada (SYSTEM) del disco duro interno, iniciamos la Surface desde la opción Clover que hemos creado con EasyUefi en la Bios. De un modo u otro, debería iniciarse Clover Bootloader, mostrando los sistemas operativos instalados, y una opción de iniciar el instalador desde el pendrive de Mojave.

Antes de presionar nada, pulsamos alguna tecla (arriba, abajo, derecha o izquierda) del teclado para que el tiempo se pare y no arranque nada por defecto... Nos vamos a opciones de Clover abajo de todo, buscamos Graphics Injector y dentro de eso, Platform-id.

Vamos a ver que está puesto por defecto el valor 0x59160000 (que es la opción correcta una vez esté instalado el sistema), pero que si se utiliza durante la instalación, nos dará kernel panic ;)

Nos situamos encima de este valor y pulsamos intro. Eliminamos este valor, lo cambiamos por 0x12345678 y pulsamos intro. Los cambios realizados desde aquí no son permanentes, y se reinician tras inicio del sistema. Retrocedemos con la tecla escape hasta la ventana principal de Clover, y nos ponemos encima del icono del instalador de Mojave. Para que podamos ver que todo funciona correctamente, sería interesante pulsar la barra espaciadora cuando el icono de instalar Mojave se encuentre seleccionado. De este modo, podremos añadir o eliminar modificadores. En el primer arranque, sería conveniente activar el modificador Verboose (-v), ya que podremos ver si hay algún fallo crítico.

Iniciamos la instalación del sistema, abrimos la utilidad de discos, seleccionando la partición que habíamos hecho para Mac en formato fat32 y la formateamos en formato nativo de Mac APFS, cambiándole el nombre por Mojave M.2 para no confundirnos luego, cerramos la utilidad de discos y reanudamos la instalación del sistema.

Cuando termine la primera fase de la instalación, el ordenador se va a reiniciar de forma automática. Hay que estar pendiente de ello para cuando salga de nuevo Clover, podamos cambiar de nuevo el Platform-id a 0x12345678, y activar el modificador -v.

Marcamos el icono nuevo que ha aparecido para que reanude la instalación (no usamos el mismo de antes). Si nos ponemos encima del icono, nos muestra el nombre. Este paso de cambiar el Plafform-id va a haber que hacerlo varias veces, hasta que el sistema operativo se encuentre totalmente instalado y podamos trastear por el escritorio de forma normal, aunque no tengamos aceleración gráfica y todo funcione a saltos.

Llegados a ese punto, abrimos una terminal y ejecutamos lo siguiente con copia & pega, poniendo la clave cuando la pida:

sudo kextcache -i /

 

y reiniciamos el sistema operativo.

 

Faltaría un solo paso si no lo habéis hecho ya, que es instalar Clover en la partición EFI (SYSTEM) creada por Windows 10, para no tener que iniciar los sistemas con un pendrive.

Una vez Mojave esté funcionando correctamente, ejecutamos Clover Configurator, montamos la EFI del disco duro interno (SYSTEM), y una vez montada, procedemos a instalar Clover Bootloader, seleccionando igual que antes durante la instalación las opciones de EFI+ESP.

Cuando termine la instalación de Clover Bootloader, accedemos a la partición SYSTEM que debería verse en el escritorio (de lo contrario recordar lo de mostrar discos duros en el Finder), buscamos la carpeta CLOVER y la eliminamos, copiando después la que he adjuntado en este Post en su lugar. Una vez hecho esto, podemos expulsar la partición SYSTEM y reiniciar la Surface. Procedemos a acceder a la bios y seleccionar como primera opción de booteo Clover.

 

En el siguiente inicio de Clover, no tocamos nada y dejamos que inicie la entrada Mojave M.2 de forma normal. Lo único que podemos activar si lo vemos conveniente, es el modificador -v, aunque no sería necesario.

En principio debería estar el sistema operativo funcionando sin problemas, incluyendo aceleración gráfica, sonido, teclado, trackpad, usb, etc.

Con esto ya tenemos Windows, Hackintosh Mojave, Android y Linux funcionando en la misma máquina sin darse de tortas entre ellos.


Ahora, y antes de liarse a navegar con Windows por internet, recomiendo ENCARECIDAMENTE crear una copia de seguridad del disco duro interno ENTERO con la aplicación Macrium (imagen ISO para quemar en un pendrive, que hace copia de seguridad y restauración de discos duros enteros o/y particiones individuales). De este modo, si nos peta la EFI, nos peta Windows, Mojave, etc, podemos restaurar esa partición únicamente sin afectar al resto). También recomiendo instalar telegram desktop en el ordenador, ya que es multiplataforma, y nos va a servir para acceder al grupo donde facilitan estos archivos. El enlace para descargar telegram para Pc es el siguiente:

https://desktop.telegram.org/

 

Una vez descargado el instalador de telegram, os unís al grupo siguiente:

https://t.me/DescargasInside

 

El archivo que debéis buscar y descargar en ese grupo, se llama Rescue.PE.10.0.64Bits.ES.iso y se puede grabar con Rufus, en GPT para UEFI en un pendrive de muy poca capacidad, ya que ocupa muy poco espacio. Después de crear el pendrive, iniciamos desde él, cambiando previamente en la bios del inicio de Clover a USB. Una vez Macrium inicie, procedemos a crear una copia de seguridad de todas las particiones del disco duro, guardándola en un disco aparte (vamos a necesitar el replicador de puertos USB para eso, ya que la Surface solo tiene un puerto USB, a no ser que excluyamos de la copia de seguridad la partición de almacenamiento (Steam) y guardemos ahí la imagen creada. Una vez creada una copia de seguridad de todo el disco duro de la Surface, podemos pasar esa copia de seguridad a otro ordenador y ya nos podemos liar a trastear sin miedo, configurando Windows con nuestras aplicaciones favoritas, Linux, Mojave y Android. Una vez todo configurado y verificado que no falle nada, podemos hacer una segunda copia de seguridad con Macrium Reflect. Es muy práctico en caso de que algún sistema falle.

Comentaros que tenéis muchas posibilidades de cargaros todo si actualizáis Windows y/o Hackintosh, con lo que recomiendo simplemente NO HACERLO.



Llegados a este punto, que funciona y que no?

Linux:

https://github.com/jakeday/linux-surface

El funcionamiento general es fabuloso. El sistema arranca muy rápido y casi todo funciona a la perfección... Wifi, Bluetooth, pantalla táctil, lápiz, sonido, gestión de energía*, Aceleración gráfica, botones de sonido y apagado, teclado y ratón, USB, MicroSD, Indicador de la batería, etc.
*No funciona la suspensión (realmente si funciona, pero no se puede sacar al equipo de ella). Recomiendo deshabilitarla de momento, al igual que las opciones de cerrar la tapa.

Android BlissOS:
El funcionamiento no está aún pulido. Hay cosas que funcionan correctamente, pero otras fallan a la mínima. Imagino que en versiones futuras irá mejorando la estabilidad.

 

Android Phoenix OS:

El funcionamiento es muy superior a Bliss. Aunque no es perfecto, funciona prácticamente todo sin hacer nada, tenemos las gapps y root en el sistema, y la pantalla táctil funciona correctamente.

El único "pero" que le veo es que la pantalla táctil suele fallar cuando ejecutamos algún juego, y al contrario que en Linux, no he encontrado la forma de reactivarla sin tener que reiniciar.


Mojave:
El funcionamiento general es tremendo.
El combo Wifi/Bluetooth va a ser complicado, ya que es un módulo toca narices y no han conseguido aún hacerlo funcionar bajo OSX.

Recomiendo comprar un dongle Wifi/Bluetooth que funcione bajo Mojave para tener conectividad.
La pantalla táctil igual... ya caerá, al igual que el indicador de batería y el de brillo de la pantalla.
Los botones de sonido y la suspensión no funcionan aún.

Peticiones:

Necesito conseguir que funcione el indicador de batería y brillo en Mojave. Si alguien consigue hacerlo, le pediría que lo subiera aquí.

Cualquier tipo de mejora de los sistemas operativos aquí mencionados sería de agradecer.

 

Si alguien encuentra algún fallo en la guía, necesita aclaración, o los archivos hay que resubirlos, que no dude en decirlo.

 

Saludos

 

 

Edited by Hicks1gb
  • Like 5
Link to comment
Share on other sites

  • 1 year later...

Actualizado completamente el post.

Añadido Mojave funcionando a las mil maravillas.

 

Edited by Hicks1gb
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Añadida opción para instalar el Firmware de la pantalla táctil en Android Bliss.

 

Edited by Hicks1gb
Link to comment
Share on other sites

Añadida opción de instalar Android "Phoenix OS" en lugar de Bliss.

Como comento en el post, Phoenix funciona mucho mejor y más estable que Bliss.

La pantalla táctil funciona de serie.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Confirmo que se puede conectar la Surface Pro 4 a un monitor externo desde MacOS Mojave.

He notado un tono rosado en la pantalla, imagino que será un tema de calibración, pero lo importante es que funciona ;)

Como siempre, si alguien sabe como corregir el color en un monitor externo, que lo comente y lo añado al post.

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...