\chapter{Instalação do Sistema Operativo}

Este tutorial descreve os passos necessários à configuração e instalação de um sistema ope-rativo no computador embebido PC-104. O método de instalação utilizado foi o de instalação a partir de um dispositivo USB. Este método permite uma maior facilidade na instalação, fazendo com que não seja necessária a instalação de uma drive CD-ROM.

De referir que este método de instalação pode ser usado em qualquer computador, desde que a sua BIOS permita o arranque por dispositivos USB.

\section{Pré-requisitos}
Antes de se proceder à configuração instalação  do sistema operativo, é necessário ter em conta alguns aspectos, como o material necessário à realização desta tarefa. Para tal será necessário: 

\begin{itemize}
\item 
Motherboard PC-104.
\item
Disco IDE SSD.
\item
Memória SO-DIMM DDR2 de 2GB
\item
Fonte alimentação ATX.
\item
Conversor LVDS para VGA.
\item 
Placa Expansão para PCI-104.
\item
Rato, teclado, monitor e cabos.
\item 
Computador com Linux instalado.
\item
USB Flash Pen Drive, no mínimo de 1GB.
\item 
CD ou imagem .ISO com sistema operativo a instalar.
\end{itemize}


O computador PC-104 é o modelo PM-US15W e é composto pelo processador Intel\textregistered\* Atom Z530 1.6 GHz e suporta até 2GB de memória.

O rato e o teclado escolhidos têm uma interface por USB. No entanto, o PC-104 tem disponível duas portas PS2 (figura \ref{pci104}), podendo assim libertar as entradas USB para outro tipo de utilização.

\begin{figure}[h!]
\centering
\includegraphics[width=65mm]{anexos/anexo1/imagens_1/pci104}
\includegraphics[width=55mm]{anexos/anexo1/imagens_1/pci1041}
\caption[PC-104]{PC-104 Vista de cima e vista de baixo respectivamente.}
\label{pci104}
\end{figure}

O conjunto de pinos AT/ATX, numerados de 1 a 9 da esquerda para a direita, servem para ligar os Led's referente ao estado ligado do pc (pinos 1 e 2, sendo pino 2 o pólo negativo), a indicação da utilização do disco IDE (pinos 3 e 4, sendo pino 4 o pólo negativo), botão de ligar o computador (pinos 5 e 6), o botão de \textit{reset} (pinos 7 e 8). Os pinos 9 e 10 servem para indicar ao PC-104 o modo de arranque com alimentação, estando configurado do seguinte modo: se estes pinos tiverem o \textit{jumper}, o PC-104 estará a espera do sinal do botão de ligar para iniciar, caso estes pinos estejam em "aberto", o PC-104 iniciará logo que a fonte esteja ligada.

A figura \ref{pci104e}, mostra a placa de expansão do PC-104. Esta placa proporciona uma extensão das portas USB disponibilizadas pelo PC-104 bem como a adição de três portas \textit{FireWire} ou \textit{IEEE 1394}.
Devido a problemas ocorridos durante o arranque e a instalação do sistema operativo, descobriu-se que a melhor configuração dos 	\textit{jumpers} referentes as portas USB seria deixar tudo em "aberto". Com esta configuração consegue-se arrancar o sistema operativo no PC-104 sem problemas, no entanto essas quatro portas extra USB deixaram de estar disponíveis.

\begin{figure}[!h]
\centering
\includegraphics[width=50mm]{anexos/anexo1/imagens_1/pci104e}
\caption{Placa expansão do PC-104}
\label{pci104e}
\end{figure}

Posteriormente montaram-se todos os componentes e procedeu-se então à criação da pen USB para se instalar o sistema operativo no PC-104.



\section{Criação imagem USB}

Para a criação do disco de arranque na Pen USB utilizou-se o programa \textit{Unetbootin}. Como este programa não se encontra instalado por defeito no Ubuntu 10.10 foi necessário proceder à instalação, bastando para isso basta aceder ao terminal e escrever o código:

\vspace{5mm}
\noindent
\framebox[154.7mm][l]{\indent \textit{sudo apt-get install unetbootin}}
\vspace{5mm}

Depois de instalado, basta aceder ao programa através do menu Aplicações > Ferramentas do Ubuntu, ou fazer Alt+F2 e escrever unetbootin. 
Existe outra alternativa que é o Criador de Disco de Arranque que vem instalado por defeito, no entanto o primeiro foi escolhido, em detrimento do segundo, porque permite efectuar o descarregamento do ISO directamente da Internet (figura \ref{unet}), enquanto que o segundo programa necessita de ter a imagem gravada previamente no disco. Além disso permite a criação de um USB com ferramentas de apoio à manutenção do sistema quer para Linux quer para Windows.

\begin{figure}[h!]
\centering
\includegraphics[width=70mm]{anexos/anexo1/imagens_1/unetbootin}
\caption[Unetbootin]{Unetbootin.}
\label{unet}
\end{figure}

A distribuição usada para a criação da imagem na pen USB e posterior instalação no PC-104 foi a Lubuntu. Esta distribuição é um derivativo não oficial do Ubuntu, e a principal razão para esta escolha foi o facto de se pretender um sistema operativo leve e bastante compacto, pelo que distribuições como o Ubuntu baseado no ambiente gráfico GNOME ou KDE estariam postas de parte por serem bastante pesadas. O Lubuntu é baseado no ambiente gráfico LXDE, \textit{Lightweight X11 Desktop Environment}, e é direccionado a PC's normais ou a portáteis com configurações de hardware antigo ou de baixos recursos.

Depois de efectuado o descarregamento da imagem ISO do Lubuntu selecciona-se a opção Diskimage no Unetbootin (figura \ref{unet1}), deixa-se a ficar a opção ISO, e selecciona-se a imagem ISO correspondente.

\begin{figure}[h!]
\centering
\includegraphics[width=70mm]{anexos/anexo1/imagens_1/unetbootin1}
\caption[Selecção de opções]{Selecção de opções.}
\label{unet1}
\end{figure}

No campo Type, selecciona-se o dispositivo para onde se pretende criar a imagem, deve- -se ter muita atenção na escolha do campo Drive, por defeito aquando da selecção da opção Disco USB no campo anterior, o Unetbootin detecta a respectiva drive da pen USB, no entanto deve-se sempre confirmar se os dados estão correctos, uma vez que a escolha de uma drive diferente poderá levar à perda de todos os dados no computador. 

Depois de confirmar tudo selecciona-se o botão ok e aguarda-se pelo fim da instalação (figura \ref{unet3}), esta tarefa poderá levar alguns minutos a ser concluída.

\begin{figure}[ht]
\centering
\includegraphics[width=70mm]{anexos/anexo1/imagens_1/unetbootin3}
\caption[Fim da criação da imagem USB]{Fim da criação da imagem USB.}
\label{unet3}
\end{figure}

Concluída a criação do disco USB, sai-se do programa Unetbootin, e faz-se ejectar a unidade USB do computador, estando agora pronto para se iniciar a instalação do sistema operativo no PC-104.

\section{Instalação Lubuntu}

Criada a pen USB de arranque, procede-se a instalação do sistema operativo no PC-104. Esta versão da BIOS, permite durante o POST entrar no menu de selecção de dispositivo de arranque, bastando para isso pressionar a tecla F11 do teclado. Para versões da BIOS que não disponibilizem este menu, será necessário aceder ao menu da BIOS, normalmente pressionando a tecla Del, e alterar a ordem por que é feito o arranque de dispositivos. De referir que, para qualquer dos métodos, a pen USB terá de estar conectada antes de se ligar o PC.

As figuras seguintes mostram os principais passos a seguir para se instalar o sistema operativo. Após o arranque pela pen USB deverá aparecer no monitor um menu de selecção do idioma pretendido, após escolhido o idioma deverá escolher a opção do menu instalar. Deverá aguardar durante alguns minutos para que possa carregar o sistema. Após o sistema ter sido carregado deverá aparecer um novo menu de selecção de idioma do sistema operativo (figura ~\ref{lubuntu1}).

\begin{figure}[h!]
\centering
\includegraphics[width=77mm]{anexos/anexo1/imagens_1/lubuntu1}
\caption[Menu selecção idioma]{Menu selecção idioma.}
\label{lubuntu1}
\end{figure}

Após a selecção do idioma pretendido faz-se avançar.

\begin{figure}[h!]
\centering
\includegraphics[width=77mm]{anexos/anexo1/imagens_1/lubuntu2}
\caption{Menu configuração instalação.}
\label{lubuntu2}
\end{figure}

Neste menu (figura \ref{lubuntu2}), foi usada a opção de descarregar as actualizações durante a instalação, para que certos pacotes, ao serem instalados sejam os mais recentes. Fazendo avançar novamente chegamos ao menu de configuração da utilização disco (figura \ref{lubuntu3}), onde foi escolhida a primeira opção, Apagar e utilizar o disco inteiro.

\begin{figure}[h!]
\centering
\includegraphics[width=71mm]{anexos/anexo1/imagens_1/lubuntu3}
\caption[Menu configuração disco]{Menu configuração disco.}
\label{lubuntu3}
\end{figure}

Avançando novamente chegamos ao menu de configuração do fuso horário (figura \ref{lubuntu4}). De referir o facto de que entrando neste menu já se pode ver a instalação do sistema a decorrer.

\begin{figure}[htb]
\centering
\includegraphics[width=71mm]{anexos/anexo1/imagens_1/lubuntu4}
\caption[Menu selecção fuso horário]{Menu selecção fuso horário.}
\label{lubuntu4}
\end{figure}

Continuando a instalação aparece um novo menu (figura \ref{lubuntu5}), onde se escolhe a disposição do teclado, seleccionando a opção Portugal, Portugal.

\begin{figure}[h!]
\centering
\includegraphics[width=71mm]{anexos/anexo1/imagens_1/lubuntu5}
\caption[Menu selecção disposição teclado]{Menu selecção disposição teclado.}
\label{lubuntu5}
\end{figure}

Configurada a disposição do teclado, avança-se com a instalação, para o último menu de configuração (figura \ref{lubuntu6}), onde se configura o nome do computador e nome de utilizador assim como a respectiva senha de acesso. Nesta instalação a chave de acesso é igual ao nome do utilizador.

\begin{figure}[h!]
\centering
\includegraphics[width=70mm]{anexos/anexo1/imagens_1/lubuntu6}
\caption[Menu configuração utilizador]{Menu configuração utilizador.}
\label{lubuntu6}
\end{figure}

Concluída a configuração da instalação do Lubuntu, deixa-se o sistema proceder à instalação do respectivo sistema operativo (figura \ref{lubuntu7}).

\begin{figure}[h!]
\centering
\includegraphics[width=70mm]{anexos/anexo1/imagens_1/lubuntu7}
\caption[Instalação sistema operativo]{Instalação sistema operativo.}
\label{lubuntu7}
\end{figure}

Após a conclusão da instalação é necessário efectuar uma reinicialização do sistema, neste momento deverá-se retirar a pen USB do sistema. A figura \ref{lubuntu8} mostra o ambiente gráfico LXDE a correr no PC-104.


\begin{figure}[h!]
\centering
\includegraphics[width=70mm]{anexos/anexo1/imagens_1/lubuntu8}
\caption[Ambiente gráfico LXDE]{Ambiente gráfico LXDE.}
\label{lubuntu8}
\end{figure}

\section{Pós-Instalação}

Após a instalação do sistema operativo foram necessárias efectuar as seguintes configurações:

\begin{itemize}
\item
Remoção partição de \textit{swap}
\item
Actualizações de \textit{software}
\item 
Instalação software proprietário camara Firefly MV FFMV-03MTC
\end{itemize}

\subsection*{Linux-Swap}

Devido as limitações dos ciclos de escrita do dispositivo de memória de massa usado, um \textit{Solid State Drive}, decidiu-se prescindir da área de \textit{Swap}, reduzindo assim uma das fontes de acesso ao disco mais frequentes. A área de Swap é uma zona de memória reservada no dispositivo de memória de massa na qual o SO escreve como complemento à memória RAM~\cite{mauro_rodrigues}.


Para a remoção da partição do Linux de \textit{Swap} foi necessário instalar o \textit{GParted}. O \textit{GParted} é uma aplicação gráfica de edição de partições, e para o instalar basta aceder ao terminal e escrever o código:

\vspace{5mm}
\noindent
\framebox[154.7mm][l]{\indent \textit{sudo apt-get install gparted}}
\vspace{5mm}

Iniciado o \textit{GParted}, basta ir a partição definida como Linux-swap, com o botão direito do rato clicar em cima e escolher a opção desactivar \textit{Swap}. Depois de desactivada o espaço pode ser utilizado como uma nova partição, bastando para isso formata-lo para um dos tipos de ficheiros disponíveis.

\subsection*{Actualizações software}

Sendo o Lubuntu uma distribuição baseada no Ubuntu é expectável, que venha nele incluído o programa \textit{update-manager}, para aceder a este programa basta fazer ALT+F2, e escre-ver \textit{update-manager}. Ao abrir este programa verificará se existem actualizações disponíveis (figura \ref{upman}), ficando a aguardar pela confirmação por parte do utilizador. Confirmada a ordem para actualizar, resta ao utilizador aguardar pelo programa instalar automaticamente as actualizações.

\begin{figure}[h!]
\centering
\includegraphics[width=42mm]{anexos/anexo1/imagens_1/upman}
\caption[Gestor de Actualizações]{Gestor de Actualizações.}
\label{upman}
\end{figure}

\subsection*{Instalação software camaras}

Nesta parte será descrito o procedimento de instalação do software proprietário de visualização das camaras \textit{Firefly}. A escolha deste software em detrimento de outro, por exemplo o coriander, foi o de se tentar obter um maior desempenho das camaras.

Para a instalação do software é necessário efectuar o download da aplicação \textit{FlyCapture 2.0}, esta pode ser obtida no endereço \textit{www.ptgrey.com} sendo necessário efectuar registo.

Efectuado o registo procede-se então download da aplicação para Linux no formato .tgz.

Em seguida extrai-se o conteúdo do ficheiro através do seguinte comando no terminal:

\vspace{5mm}
\noindent
\framebox[154.7mm][l]{\indent \textit{tar -xvf flycapture2-2.1.3.4-i386-pkg.tgz}}
\vspace{5mm}

Extraído o conteúdo é necessário efectuar a instalação de alguns pacotes adicionais, pois estes são pré-requisitos da instalação, para tal basta escrever novamente no terminal o seguinte comando:

\vspace{5mm}
\noindent
\framebox[154.7mm][l]{\vbox{\textit{sudo apt-get install libraw1394-11 libgtk2.0-0 libgtkmm-2.4-dev}\\

\textit{sudo apt-get install libglademm-2.4-dev libgtkglextmm-x11-1.2-dev libusb-1.0-0}}}
\vspace{5mm}

Após a instalação destes pacotes procede-se então a execução na consola do script de instalação do programa:

\vspace{5mm}
\noindent
\framebox[154.7mm][l]{\indent \textit{sudo ./install\_flycapture.sh}}
\vspace{5mm}

Durante a execução deste script será necessário responder a algumas questões sobre a instalação:\\

\noindent
\framebox[154.7mm][l]{\vbox{\textit{Would you like to continue and install all the FlyCapture SDK Packages? (y/n)\$ y}\\

\textit{Would you like to add a udev entry to allow access to 1394 and USB hardware?(y/n)\$y}\\

\textit{Enter the name to the user to add to this user group \$  humanoid}\\

\textit{Is this user name ok?: humanoid (y/n)\$ y}\\

\textit{Add user humanoid to group pgrimaging. Is this ok?: (y/n)\$ y}\\

\textit{Do you want to restart the udev deamon? (y/n)\$ y}}}\\

Se tudo correu bem no final deverá aparecer a mensagem \textit{Complete}. Para executar o programa de visualização basta fazer ALT+F2 e escrever \textit{flycap}. Em seguida, surgirá o menu de selecção de camara (figura \ref{fly1}), e onde se pode configurar os parâmetros da mesma.

\begin{figure}[h!]
\centering
\includegraphics[width=120mm]{anexos/anexo1/imagens_1/fly1}
\caption[Menu selecção camara]{Menu selecção camara.}
\label{fly1}
\end{figure}

Escolhida a camara que se pretende ver faz-se OK, onde surgirá uma nova janela (figura \ref{fly2}), onde se pode visualizar a área de captura, neste caso o pc-104 montado.

\begin{figure}[h!]
\centering
\includegraphics[width=140mm]{anexos/anexo1/imagens_1/fly2}
\caption[Ambiente de visualização]{Ambiente de visualização.}
\label{fly2}
\end{figure}