Este es un pequeño tutorial para todos aquellos que utilicen Linux y se vean en la necesidad de usar el ambiente de desarrollo MPLAB. Está basado en una excelente guía de William Spinelli (Installing MPLAB on Ubuntu 6.06) con algunas pequeñas correcciones. La instalacion de MPLAB se hara a traves de Wine y WineTools, se instalara la version 7.31 (aun no he probado si la version 7.50 o 7.51 se pueden instalar mediante este proceso) en la version 6.06 de Ubuntu.

Instalar Wine

Como la version de Wine que se encuentra en el repositorio (0.9.12) no soporta la instalacion de Internet Explorer 6 (IE6) usando WineTools, la instalacion se hace en dos pasos: primero se instala una version antigua de Wine (0.9.8) y despues se actualiza a la ultima version disponible.

Primero se debe instalar la version antigua de Wine
 $ wget http://umn.dl.sourceforge.net/sourceforge/wine/wine_0.9.8-winehq-1_i386.deb
 $ dpkg -i wine_0.9.8-winehq-1_i386.deb

y los siguientes paquetes
 $ sudo apt-get update
 $ sudo apt-get install xdialog cabextract

Despues se debe instalar WineTools manualmente ya que no se encuentra en los repositorios
 $ mkdir winetools; cd winetools
 $ wget http://www.openoffice.de/wt/winetools-0.9jo-III.tar.gz
 $ tar -xzvf winetools-0.9jo-III.tar.gz
 $ cd winetools-0.9jo-III
 $ sudo ./install

Una vez instalado se debe editar el archivo "wt0.9jo" y cambiar el mirror de las fuentes ya que no funciona en la version actual de winetools. El archivo se puede editar con cualquier editor de texto. Editar el archivo
 $ sudo gedit /usr/local/winetools/wt0.9jo

y reemplazar la siguiente linea
[ "$SFMIRROR" = "" ] && SFMIRROR="http://puzzle.dl.sourceforge.net/sourceforge"

por
[ "$SFMIRROR" = "" ] && SFMIRROR="http://umn.dl.sourceforge.net/sourceforge"

Habiendo hecho eso se debe ejecutar winetools. Para eso se inicia (como un usuario normal, no como root!) con el siguiente comando
 wt

Para configurar Wine se debe seguir la secuencia exacta de WineTools. En Configuracion Base (Base Setup) se hace en secuencia:
  • Crear un disco falso de windows (Create fake windows drive)
  • Instalar las fuentes Arial (TrueType Font Arial)
  • Installar DCOM98
Despues de eso se debe instalar el archivo MFC4 dll (Microsoft Foundation Classes 4.X), sin embargo el instalador de winetools no funciona, si se instala desde el menu aparecera un mensaje que diga que el archivo ya esta instalado pero no es asi por lo que se deben descargar e instalar manualmente los archivos mfc40.dll y mfc42.dll. Una vez descargados se deben copiar a .wine/drive_c/windows/system32/ pero en minusculas. Despues se vuelve a ejecutar winetools (wt) y se instala IE6
  • Internet Explorer 6.0 SP1 Spanish
Una vez hecho eso ya tenemos Wine totalmente configurado asi que ahora se actualiza a la ultima version de Wine. Se edita la configuracion de APT
 $ sudo vi /etc/apt/sources.list
Y se añade el repositorio de Wine HQ:
## repositories for Wine HQ
deb http://wine.sourceforge.net/apt/ binary/
deb-src http://wine.sourceforge.net/apt/ source/

Se actualiza el paquete con
 $ sudo apt-get update
 $ sudo apt-get upgrade

Instalar MPLAB v7.31

Teniendo Wine configurado la instalacion de MPLAB en linux resulta igual de sencilla que si se hiciera en windows. Se descarga el archivo MP731_Full.zip del servidor de Microchip y despues se descomprime
 $ mkdir mplab731; cd mplab731
 $ wget http://ww1.microchip.com/downloads/en/DeviceDoc/MP731_Full.zip
 $ unzip MP731_Full.zip

Y se instala utilizando Wine
 $ wine MP731_full_install.exe
Se sigue el proceso de instalacion (el mismo que en windows) y al finalizar ya se tiene un MPLAB instalado y listo para usarse.

Para terminar simplemente se agrega un scrip de inicio en algun lugar del path de linux. Se crea el archivo mplab
 $ sudo gedit /usr/local/bin/mplab

y se escribe en el
#!/bin/bash
. findwine
$WINE "c:\\Program Files\\Microchip\\MPLAB IDE\\core\\MPLAB.exe" $@ &>/dev/null &

Se hace ejecutable
 $ sudo chmod 755 /usr/local/bin/mplab

Y listo, para iniciar MPLAB simplemente se ejecuta el codigo mplab.