Programação e Linux.

sexta-feira, 23 de janeiro de 2009

Instalando ubuntu 8.10 no Asus Eee PC

Eu adoro programar para sistemas embarcadas e agora estou mexendo num Eee PC 701 (tá certo, não é um sistema embarcado como um Nokia N810 ou um set-top-box de TV digital, mas é pequeno e aberto a possibilidades). Ele vem com uma versão modificada do Xandros que não faz lá muita coisa, então resolvi fazer a experiência de instalar um Ubuntu nele para aprender um pouco mais sobre o Eee PC e tentar fazer algo legal depois.

Eu não testei o eeebuntu ou o ubuntu-eee (agora Easy Peasy) pois queria passar todas as dificuldades, como falei minha intenção é aprender (brincar) sobre o Eee PC e não usá-lo de fato.

Eu possuo um driver de CD externo USB, mas preferi não usar, resolvi instalar o Ubuntu a partir de um cartão SD (acredito que para um pendriver USB também funcionaria).

SIGA ESTAS INSTRUÇÕES SOMENTE SE VOCÊ REALMENTE SABE O QUE ESTÁ FAZENDO, EU (IURI DINIZ) NÃO POSSO SER RESPONSABILIZADO POR QUALQUER DANO TANGÍVEL OU INTANGÍVEL CAUSADO DIRETAMENTE OU INDIRETAMENTE PELAS INFORMAÇÕES AQUI CONTIDAS. AS INSTRUÇÕES AQUI CONTIDAS NÃO POSSUEM QUALQUER TIPO DE GARANTIA TANTO EXPRESSA COMO IMPLÍCITA. AS INSTRUÇÕES DEVEM FUNCIONAR PERFEITAMENTE MAS SE ELAS CAUSAREM ALGUM DANO DE QUALQUER NATUREZA NÃO É MEU PROBLEMA. A INSTALAÇÃO DE SOFTWARE NÃO AUTORIZADO PELO FABRICANTE DO EQUIPAMENTO PODE ACARRETAR NA ANULAÇÃO DE SUA GARANTIA, CONSULTE SEU MANUAL.

Criar um cartão SD/pendriver USB bootável

Como eu já possuía um CD do Ubuntu 8.10 (obrigado Canonical por enviar para minha residência) a maneira mais fácil que eu achei para transformar um cartão SD em um "CD de instalação do Ubuntu" foi usando um software do próprio livecd (use a versão 32bits do livecd).

Vá em Sistema->Administração->Create a USB startup disk
Vai aparecer a seguinte tela:
Plugue o cartão SD (ou pendriver)
Clique em Make Startup Disk e espere (vai demorar uns 30 minutos).

Bootando do cartão SD/pendriver USB

É necessário ir na BIOS do Eee PC e alterar a ordem de boot.

Para entrar no setup do Eee PC pressione F2 durante o boot
Dentro do Setup, vá para a guia Boot.

A guia Boot muda dependendo se um cartão SD está inserido ou não no Eee PC, deixe o cartão SD inserido ou a opção Hard Disk Drivers não aparecerá.
Para fazer boot a partir do cartão SD, deve-se alterar a ordem dos discos em Hard Disk Drivers, USB:USB2.0 CardReader SD0 deve figurar como 1st Drive, em seguida vá em Boot Device Priority e escolha USB:USB2.0 CardReader SD0 como 1st Boot Device.

Para fazer o boot a partir de um pendriver basta ir em Boot Device Priority e escolher Removable Dev. como 1st Boot Device.

Ajustando o ubuntu para que instalador caiba na tela

A resolução do Eee PC 701 é 800 x 480 e o instalador ultrapassa os limites da tela, então vamos fazer alguns ajustes antes de chamar o programa instalador:

Vá em Sistema->Preferências->Aparência

Desligue os efeitos indo em
Efeitos Visuais, selecionando Nenhum. Isto facilita mover janelas que por ventura não se ajustem a tela usando ALT+clique/arraste do mouse.

Em Fontes troque tudo para 8 pts
Edite os painéis para permitir ocultação, clique com o botão direito num local livre do painel superior e escolha Propriedades, selecione Mostrar botões de ocultação
Faça o mesmo para o menu inferior. Vão aparecer setas nas laterais destes painéis, pressione-as.
Chamando o instalador
Agora você pode chamar o instalador via Instalar sistema no computador
Escolha o particionamento manual
Eu escolhi deixar o mesmo tamanho das duas primeiras partições anteriores do Xandros (para fazer unionfs) e apagar as duas ultimas, resultando em 16 MB livres para reserva. Eu também escolhi deixar tudo como ext2 para não desgastar o SSD (o journaling do ext3, reiserfs e etc faz muitas gravações no disco).

Meu particionamento final ficou assim:
Agora é só mandar avançar, o instalador vai reclamar que não existe partição de swap que eu optei por não fazer afim de evitar escritas desnecessárias no SSD, sem swap o sistema não vai conseguir hibernar (suspender em disco), somente suspender em ram, mas o Xandros também não hibernava.
Na tela de adição de usuário, selecione logar automaticamente para deixar a inicialização do Eee PC mais confortável
Agora é só avançar e esperar a instalação terminar
Primeiros ajustes para minimizar as gravações no SSD
Quando a instalação terminar não reinicie ainda, deixe o instalador aberto.

Vamos alterar o fstab, abra um terminal e vire root com sudo -s -H
As partições onde o Ubuntu foi instalado permanecem montadas
Vamos alterar o arquivo /target/etc/fstab, faça nano /target/etc/fstab


Para minimizar as gravações no SSD, adicione noatime as partições ou troque relatime por noatime (as diferenças são poucas, mas eu prefiro o noatime, faça man fstab em um terminal para maiores informações)

Coloque alguns diretório com muita gravação e não muito úteis (pelo menos não para um netbook) em RAM (tmpfs), adicionando as linhas:
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
Grave o fstab (CTRL+O) e saia (CTRL+X)

Remova o blkid.tab:
rm /target/etc/blkid.tab*
ln -s /dev/null /target/etc/blkid.tab


Remova o mtab:
rm -f /target/etc/mtab
ln -s /proc/mounts /target/etc/mtab


Pronto, agora pode voltar ao instalador e escolher reiniciar.

Lembre-se de ir na BIOS e trocar a ordem de boot novamente.
Instalando um kernel customizado
O kernel padrão que vem no Intrepid não é totalmente compatível com o Eee PC, o wifi por exemplo não funciona, por isso vamos instalar o kernel do pessoal do http://www.array.org/ubuntu, abra um terminal, conecte o Eee PC a internet via rede com fios e faça:

sudo wget http://www.array.org/ubuntu/array-intrepid.list -O /etc/apt/sources.list.d/array-intrepid.list

wget http://www.array.org/ubuntu/array-apt-key.asc -O - | sudo apt-key add -

sudo apt-get update
sudo apt-get install linux-eeepc


Depois de pronto, o próprio Ubuntu vai pedir para reiniciar.
Reinicie e seu hardware vai ser reconhecido.

Ajustes para melhor aproveitamento da tela
Podemos fazer novamente os mesmos ajustes feitos na hora da instalação.

Diminuir a fonte
Vá em Sistema->Preferências->Aparência e em Fontes troque tudo para 8 pts
Deixando o painel mais compacto
O menu padrão do Ubuntu (Aplicativos/Locais/Sistema) ocupa muito espaço, clique com o botão direito do mouse nele e remova-o, no espaço vazio, clique novamente com o botão direito e escolha Adicionar ao painel... na janela que aparece selecione Menu Principal
Remova o painel inferior (botão direito, excluir este painel) e siga o procedimento anterior para adicionar Lista de janelas e Mostrar área de trabalho ao painel superior.

Ajustando o Firefox
A resolução máxima do Eee PC é 800x640 e hoje as páginas da www caminham para uma resolução 1024x768, então precisamos tanto ganhar espaço horizontal quanto vertical.

Para ganhar espaço vertical, temos que diminuir os menus do Firefox a apenas um, para isto instale a extensão tinymenu e o tema classic compact. Após instalar, clique com o botão direito no espaço livre ao ado de menu e clique em personalizar. Selecione a opção Ícones pequenos e Exibir como: Ícones. Em seguida clique e arraste cada ícone da barra logo abaixo de Menu para a barra superior, feche a janela de personalizar e clique com o botão direito na barra de navegação, agora vazia e desative-a. Agora o tema, vá em Menu->Ferramentas->Complementos, cique em Temas, escolha Classic Compact, Usar o tema, Reiniciar o Firefox.
Resultado parcial:

Para ganhar espaço horizontal, temos que que diminuir redimensionar as páginas, mas isto precisa ser feito toda hora, para definir um zoom padrão, temos que instalar a extensão NoSquint. Após instalada, use como padrão 77% para todas as páginas e você conseguirá "simular" a resolução de 1024.

Veja a página do terra com zoom 100%, o site não cabe na tela:
agora com 77%, não existem barras de rolagem horizontais:

Usar Tecla Fn+F5 para entrar em modo Fullscreen
No Xandros, a tecla Fn+F5 abria o monitor do sistema, após instalar o Ubuntu ela não faz nada, vamos alterá-la para tornar os aplicativos Fullscreen, muito mais útil na minha opinião.

Vá em Sistema->Preferências->Atalhos de teclado e procure por Gerenciador de janelas, Alternar modo de tela inteira, clique para alterar o atalho e em seguida pressione Fn+F5.


Colocar o cache do Firefox em tmpfs
Para diminuir as escritas no disco e ainda assim melhorar a velocidade do Firefox, uma boa prática é colocar todo o cache em RAM. Para fazer isto, vá ao endereço about:config, uma página vai perguntar se você deseja continuar, continue, em seguida clique com o botão direito na lista de nomes que aparecem e Nova opção->String..., use o nome browser.cache.disk.parent_directory e o valor /tmp (assumindo que tmp está montado como tmpfs, pode-se usar também /dev/shm).

Opcionalmente ainda em about:config para economizar memória (sacrificado o desempenho) faça:
  • browser.cache.disk.capacity = 8000
  • browser.cache.offline.enable = false
  • browser.cache.memory.enable = false
É bom também apagar o cache na saída do Firefox para poder limpar a RAM, vá em Editar->Preferências, clique em Privacidade, em dados pessoais selecione Limpar dados pessoais ao sair do Firefox e deixe desselecionado Perguntar antes de limpar dados pessoais, clique em Configurar e marque todas as opções.




Habilitando o escalonador de frequências
O processador quem vem no Eee PC e um Celeron M 0.9 GHz mas ele fica travado em 0.6 GHz, o uso de um escalonador de frequências permite utilizarmos o clock de 0.9 GHz do Eee PC e ainda assim economizar energia diminuindo o clock em horários de inatividade

Remova o powernowd e instale o cpufrequtils

sudo apt-get remove powernowd sudo apt-get install cpufrequtils

O módulo do escalonador de frequências do Celeron M não é detectado por padrão, faça:

sudo modprobe p4_clockmod

Para que fique ativo no boot abra o arquivo /etc/modules e adicione:

p4_clockmod
cpufreq_ondemand
cpufreq_userspace
cpufreq_stats
cpufreq_powersave
cpufreq_conservative

depois abra o arquivo /etc/default/cpufrequtils e adicione:

ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED="0"
MIN_SPEED="0"

Desta forma o escalonador ondemand vai ser usado, ele troca a frequência da CPU dinamicamente de acordo com a carga do sistema. Pode-se usar outro escalonador aqui, faça GOVERNOR="performance" para deixar a CPU no máximo.

Escalonadores de frequência diferentes quando na bateria e quando na tomada.
Pode-se fazer um script em /etc/acpi/ac.d para trocar o escalonador para performance quando conectado na tomada. Crie o arquivo /etc/acpi/ac.d/99-cpu-performance.sh com o seguinte conteúdo:

#!/bin/sh
/usr/bin/cpufreq-set -g performance


Depois faça:
sudo chmod +x /etc/acpi/ac.d/99-cpu-performance.sh

O análogo pode ser feito para usar ondemand quando conectado na bateria fazendo um script no /etc/acpi/battery.d. Crie o arquivo /etc/acpi/battery.d/99-cpu-ondemand.sh com o conteúdo:

#!/bin/sh
/usr/bin/cpufreq-set -g ondemand


Depois faça:
sudo chmod +x /etc/acpi/battery.d/99-cpu-ondemand.sh

Usando o cpufreq-applet
Outra forma é permitir a escolha da frequência de acordo com a necessidade através do applet do Gnome. Clique com o botão direito num espaço vazio da barra do Gnome e escolha adicionar ao painel, na lista escolha Monitor de Graduação de Frequência da CPU.

Ajustes no microfone, desabilitar o pulseaudio
Eu tive problemas com o microfone (Ekiga e Skype) quando o pulse estava como dispositivo padrão alsa, para desabilitar isto abra o arquivo /usr/share/alsa/pulse-alsa.conf e apague ou comente as linhas:

pcm.!default {
type pulse

}


ctl.!default
{

type pulse
}


Ajustando o wireless

O módulo ath5k (kernel 2.6.27-8-eeepc) parece não funcionar bem em velocidades maiores que 11M.

Eu percebi que para até 36M a conectividade funciona, mas em 48M ou 54M não. O pior é que por padrão o Linux vai alterando a velocidade da interface de acordo do com a qualidade do sinal e algumas vezes ele o coloca em 48M ou 54M, deixando o usuário sem conectividade por alguns instantes, mas o suficiente para fazer com que vídeos abertos via compartilhamento (samba) ou sessões VNC apresentem lag.

Para resolver este problema a única forma que achei no momento é fixar a velocidade do wireless através do comando:
sudo iwconfig wlan0 rate 11M fixed

Para que alteração seja permanente adicione este comando ao /etc/rc.local
/sbin/iwconfig wlan0 rate 11M fixed

iwconfig wlan0 rate 36M auto, segundo o manual do iwconfig, deveria fazer com que fossem usados apenas as taxas de transfência até 36M, mas não funcionou.

Contornando problema de ao plugar/desplugar o cabo de força o programa de email é iniciado.

O Eee PC gera eventos diferentes e conflitantes aos de outros notebooks da Asus, por conta disto, o Ubuntu incorretamente pensa que foi pressionada a tecla de abrir o programa de email, existem duas formas de resolver.

Ou removendo arquivo /etc/acpi/events/asus-mail:
sudo rm /etc/acpi/events/asus-mail
sudo /etc/init.d/acpid restart

Ou desativando a tecla email:
gconftool -s /apps/gnome_settings_daemon/keybindings/email -t string ""

Desativando o filtro anti-phishing do Firefox
Fonte: 1, 2 e 3

O Firefox 3 vem, por padrão, com a proteção anti-phishing habiitada, esta proteção, de tempos em tempos, baixa uma lista de sites maliciosos dos servidores do google, então pode-se diminuir as escritas removendo o anti-phishing. Fazendo isto você deixa de receber alertas sobre sites maliciosos, então pense se é isto mesmo que você quer antes de fazer.

Para desabilitar vá em Editar->Preferências e na aba Segurança desmarque as opções Alertar-se o site visitado for um possível foco de ataques e Alertar-se o site visitado for uma possível fraude.

Ajustes no gerenciamento de energia.
Primeiro vamos desativar o modo hibernar pois não temos swap:

gconftool -s /apps/gnome-power-manager/general/can_hibernate -t bool false

Em seguida vamos configurar o ajuste dinâmico de brilho:

# período de inatividade para reduzir brilho configurado para 10 segundos
gconftool -s /apps/gnome-power-manager/backlight/idle_dim_time -t int 10


# ao atingir período de inatividade, nao reduzir brilho quando ligado na tomada
gconftool -s /apps/gnome-power-manager/backlight/idle_dim_ac -t bool false

# ao atingir período de inatividade, reduzir brilho quando ligado na bateria

gconftool -s /apps/gnome-power-manager/backlight/idle_dim_battery -t bool true


# brilho em 0% quando inativo

gconftool -s /apps/gnome-power-manager/backlight/idle_brightness -t int 0


# reduzir brilho quando ligada na bateria

gconftool -s /apps/gnome-power-manager/backlight/battery_reduce -t bool true


# brilho em 100% quando ligado na tomada

gconftool -s /apps/gnome-power-manager/backlight/brightness_ac -t int 100


#brilho em 50% quando ligado na bateria

gconftool -s /apps/gnome-power-manager/backlight/brightness_dim_battery -t int 50

Ajustes no escalonador de disco, configurar elevator=noop
O Eee PC 701 usa um disco SSD que não possui partes móveis, o escalonador de discos padrão do Linux (cfq) é otimizado para discos com partes móveis, vamos usar o escalonador noop (No Operation).

Abra o arquivo /boot/grub/menu.lst, procure por uma linha parecida com:
# kopt=root=UUID=XXX-YYY-ZZZ ro

Adicione no final desta linha elevator=noop, e em seguida chame o update-grub:
sudo update-grub

Agora é só reiniciar o sistema.
(o escalonador pode ser trocado sem reiniciar o sistema, mas é assunto para outro post)

Instalando o netbook remix, uma interface alternativa
Eu prefiro usar a interface netbook-remix do Gnome, ela é mais simples e intuitiva para o Eee PC como no screenshot abaixo:

Primeiro desligue os efeitos visuais pois o compiz não se dar bem com o netbook-remix, vá em Sistema->Preferências->Aparência e na aba Efeitos Visuais, selecione Nenhum.


Para instalar o netbook-remix faça:
# importando a chave B796B6FE como consta em: https://launchpad.net/~netbook-remix-team/+archive
gpg --keyserver keyserver.ubuntu.com --recv-keys B796B6FE

gpg -a --export B796B6FE | sudo apt-key add -


echo 'deb http://ppa.launchpad.net/netbook-remix-team/ubuntu intrepid main' | sudo tee /etc/apt/sources.list.d/netbook-remix


sudo apt-get update

sudo apt-get install go-home-applet human-netbook-theme maximus netbook-launcher window-picker-applet


Agora vamos configurar o gnome para o netbook-remix:
  1. Se você não removeu o painel inferior, remova-o agora.
  2. Configure a tecla Home (a casa entre Fn e Alt) para que ela mostre a área de trabalho
  3. Vá em Sistema->Preferências->Atalhos de teclado, procure e clique em Alternar modo de tela inteira, pressione a tecla Home para configurar o atalho.
  4. Vá em Sistema->Preferências->Sessões
    1. Adicione o netbook-laucher
    2. Adicione o maximus
  5. Remova todos os applets do painel superior.
  6. Adicione os seguintes applets nesta ordem de posicionamento:
    1. Ir a Início
    2. Lista de janelas
    3. Área de notificação
    4. Controle de volume
    5. Relógio
Agora saia da sessão (CTRL+ALT+DEL) e inicie-a novamente.

AVANÇADO: Diminuindo as escritas em disco a um nível paranóico.
O disco SSD pode ter vida útil menor que um HD comum pois as escritas no disco são limitadas, se você é paranóico, podemos fazer com que o disco não tenha escrita nenhuma, vamos deixar o disco inteiro em modo somente leitura.

Entrando no modo single
Muitas alterações a seguir precisam que você altere os pontos de montagem do linux e teste-os, então é recomendado entrar no modo single, para isto vá para o console (CTRL+ALT+F1) e execute:
sudo init 1

Quando o Recovery Menu aparecer na tela selecione Drop to root shell prompt.
DICA: O Ubuntu vem com dois editores que podem ser usados no modo console (sem interface gráfica), o vim ou o nano

Limpeza do /etc/fstab
Se você seguiu este artigo e editou o /etc/fstab durante a instalação é hora de desfazer alguns mount's.

Abra o /etc/fstab e remova ou comente estas linhas:
tmpfs /var/log tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0

Depois faça:
umount /tmp
umount /home
umount /var/log
umount /var/tmp

/ (raiz) como somente leitura

Abra o /etc/fstab e coloque o / como somente leitura, procure por uma linha parecida com:
UUID=XXX-YYY-ZZZ / ext2 notime,errors=remount-ro 0 1

Adicione ro a lista de parâmetros (perto de noatime e erros) deixando-a parecida com isto:
UUID=XXX-YYY-ZZZ / ext2 ro,notime,errors=remount-ro 0 1

/var como tmpfs
O /var é um diretório que escritas são feitas constantemente escritas, então é uma boa idéia deixá-lo em RAM.

Crie um diretório chamado /var.tmp
mkdir /var.tmp

Adicione estas linhas no /etc/fstab:
# /var
tmpfs /var.tmp tmpfs defaults,size=32M 0 0
unionfs /var unionfs defaults,dirs=/var.tmp:/var=ro 0 0

Agora tudo que é novo vai ficar em RAM até no máximo 32MB, lembre-se que isto pode ser ruim ao fazer uma grande atualização no ubuntu.

/media como tmpfs
Ao deixar o / como somete leitura a montagem automática de volumes (pen-driver e cartão SD) para de funcionar, isto é porque o HAL não consegue escrever em /media. Então vamos deixá-lo em RAM também.

Adicione estas linhas no /etc/fstab:
# A rw /media is required for HAL
tmpfs /media tmpfs defaults,size=3M 0 0

/etc/resolv.conf no /tmp
O /etc/resolv.conf é um arquivo alterado constantemente pelo network-manager, como o sistema de arquivos vai estar em somente leitura, o network-manager deixará de funcionar corretamente.

Para consertar faça:
mv /etc/resolv.conf /tmp/
rm -f /etc/recsolv.conf.tmp
ln -s /etc/resolv.conf.tmp /etc/resolv.conf
ln -s /tmp/resolv.conf /etc/resolv.conf.tmp

O problema do /home
O usuário precisa gravar seus arquivos, se você seguiu as instruções deste artigo, o /home está em uma partição separada então não há o que se preocupar, seus arquivos serão salvos.

Contudo o /home também é bastante alterado com configurações e logs, se você for paranóico mesmo vai querer também diminuir estas escritas no /home, uma solução é colocar o /home na RAM e enquanto salva suas coisas importantes no "Home Real".

Crie um home para os arquivos temporários
mkdir /home.tmp

Renomei o /home para /home.real
mv /home /home.real

Recrie o /home
mkdir /home

Adicione estas linhas no /etc/fstab:
# /home
tmpfs /home.tmp tmpfs defaults,size=64M 0 0
unionfs /home unionfs defaults,dirs=/home.tmp:/home.real=ro 0 0

Ainda no /etc/fstab procure por uma linha parecida com:
UUID=XXX-YYY-ZZZ /home ext2 notime 0 1

Troque-a para:
UUID=XXX-YYY-ZZZ /home.real ext2 notime 0 1

Vamos criar o "suporte" ao armazenamento permanente, vá ao seu diretório "real" de seu usuário:
cd /home.real/user

Troque user pelo nome do usuario que você configurou na instalação.

Agora crie links para armazenamento permanente para todos diretórios não ocultos:

PERMANENT_DIR="STORE"

# Check for permanent dir or create it
[ -d "$PERMANENT_DIR" ] || mkdir "$PERMANENT_DIR"

# Remove old links if any
find . -maxdepth 1 -name '[^.]*' -type l | while read i; do
BASE="`basename $i`"
readlink "$i" | egrep "/$PERMANENT_DIR/$BASE\$" >/dev/null && rm -f "$i"
done

# To undo
# #mv STORE/* .
# #exit 0

# Move directories to permanent dir
find . -maxdepth 1 -name '[^.]*' -type d | egrep -v "^./$PERMANENT_DIR\$" | while read i; do
mv "$i" "$PERMANENT_DIR/"
done

# Create links
find "$PWD/$PERMANENT_DIR" -maxdepth 1 -type d | while read i; do
BASE="`basename $i`"
[ -e "$BASE" ] || ln -s "$i" "$BASE"
done
Lembre-se que suas configurações são sempre perdidas a cada reinicialização, mas você pode salvá-las manualmente a qualquer momento, para isto faça (deslogado de preferência):

rsync -a /home/user/.[^.]* /home.real/user/

Instalar novos programas
É impossível instalar novos programas ou alterar algum arquivo do /etc se disco está em modo somente leitura, você pode temporariamente colocá-lo em modo de escrita com:
sudo mount / -o remount,rw

Lembre-se de voltá-lo ao modo somente leitura antes de desligar:
sudo mount / -o remount,ro

Caso não faça isto, da próxima vez que iniciar terá que refazer o passo de configurar o resolv.conf para utilizar o /tmp por conta de um bug no network-manager que cria um novo arquivo ao invés de atualizá-lo.

Problemas ao usar o apt-get
O apt-get usa o /var/cache para baixar arquivos e o /var lota rapidinho, para solucionar o problema temporariamente aumente o tamanho do /var com:
sudo mount /var.tmp -o remount,size=128M

128M é o novo tamanho
.
Após realizar a atualização limpe o cache do apt-get para liberar memória:
sudo apt-get cache clean

Evitando o OOM-Killer
O OOM-killer é chamado toda vez que o sistema precisa de memória e não possui, para resolver este problema o Linux mata um processo.

Algumas práticas para minimizar este problema:
  1. Desative programas residentes desnecessários
    • Desative alguns terminais CTRL+ALT+Fn
        sudo rm /etc/event.d/tty[3-6]
    • Rode o rcconf e desmarque
      • anacron
      • apparmor
      • atd
      • avahi-daemon
      • bootlogd
      • bluetooth
      • pcmciautils
      • cron
      • cups
      • pppd-dns
      • pulseaudio
      • ufw
    • Abra Sistema->Preferências->Sessões e desmarque
      • Área de trabalho remota (vino-server)
      • Assistência Visual
      • Evolution Alarm Notifier (evolution-alarm-notify)
      • Gerenciador Bluetooth (bluetooth-applet)
      • Miniaplicativo da Fila de Impressão (system-config-printer-applet)
      • Miniaplicativo Tracker (tracker-applet)
      • PulseAudio Session Management
      • Tracker (trackerd)
      • Update Notifier (update-notifier)
  2. Use programas leves
    • Que tal deixar o gnome de lado e usar o XFCE (xubuntu)?
  3. Diminuir tamanho máximo dos tmpfs
    • Adicione ao arquivo /etc/defaults/tmpfs
      • SHM_SIZE=8M
        TMPFS_SIZE=4M
        UDEV_SIZE=8M
    • Adicione a todos os tmpfs's a opção size=XXXM no /etc/fstab
Links úteis

25 comentários:

voyeg3r disse...

Mais do que explicado! Valeu!

Raul Pedro disse...

Excelente post.
Gostei da explicação.
Parabens.
Obrigado pelas ideias.
R. Pedro

Marcelo R. Minholi disse...

Muito bom o seu tutorial. Eu uso o EasyPeasy (antigo ubuntu-eee), que apresenta um resultado final bem parecido com o da sua instalação, mas achei bem interessante a explicação. Parabéns!

João Alexandre disse...

Como já disseram... um excelente post!
Muito bem explicado, bem detalhado.
Agora até animei a instalar novamente o Ubuntu 8.10 no SSD do meu Asus 701.
Hoje tem usado "dual-boot": Windows 2003 Enterprise Edition (tenho licença, por isso do sistema) e o EeeUbuntu, uma outra distro baseada no ubuntu que tem o kernel customizado para ele, além de alguns scripts. O Windows está no SSD, enquanto o Eeebuntu está no SD.

Valeu mesmo!

Adam disse...

Excelente post.

Gostaria de obtê-lo em pdf, você poderia gerá-lo e torná-lo disponível em pdf?

Grato.

Adam Astor.

Anônimo disse...

Cara, esse tutorial foi apenas excelente. Vai ficar para os anais da internet :-)

Maicon Saul Faria disse...

Post muito bom ! Parabéns pelo trabalho !

Cid R Andrade disse...

Meu! E nem precisa comprar uma galinha preta?
Tem de tudo aqui! Parabéns.

Blabos de Blebe disse...

Rapaz, chamar esse post de detalhado é eufemismo. Muito bom!!!

Só um adendo, você consegue alterar o dispositivo de boot sem alterar as opções da bios, pressionando ESC na mesma tela que vc pressiona F2 pra entrar na bios.

Eu tive problemas para dar boot com imagens gravadas em SD com sistema de arquivos diferentes de ext3. Você também noticiou isso?

Abraços

Wesley

Silveira Neto disse...

eu comprei um asus eee pc 900, já tentei o eeebuntu e Easy Peasy mas nenhum ficou legal mesmo. Tô até considerando colocar o Ubuntu e fazer essa personalização que propõe.
Abraços.

twocs disse...

no linux-eeepc:
Directory '/var/log/apt' missing

same error https://bugs.launchpad.net/ubuntu/+source/apt/+bug/220239

and changing clockspeed required:
http://www.noelinho.org/uploads/2008/08/cpu-frequency-scaling.pdf

Ruy disse...

O post eh muito bom. como posso criar uma pen de boot (para este ubuntu) pela linha de comandos)? porque o meu ubuntu nao tem a opcao grafica de crias um USB bootable.

Obrigado

fabape disse...

sudo apt-get install go-home-applet human-netbook-theme maximus netbook-launcher window-picker-applet
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
E: Impossível achar pacote human-netbook-theme

E agora? Onde o pacote foi parar?

Iuri Diniz disse...

Fabape, você adicionou?

deb http://ppa.launchpad.net/netbook-remix-team/ubuntu intrepid main

Iuri Diniz disse...

Fabape,

eu fiz exatamente como tá aqui

Iuri Diniz disse...

Ruy,

Não tenho uma forma rápida de explicar como criar via linha de comando um usb bootável, mas o pacote se chama usb-creator

sudo apt-get install usb-creator
sudo usb-creator

Fernando disse...

Gente fina,

Eu criei pendrive pelo mesmo processo descrito por você (um Kingston DataTraveler 4GB). Configurei a BIOS para bootar por este dispositivo primeiro, porém quando re-inicio o pc aparece: "Missing Operating System" e não lê o pendrive. Detalhe, na BIOS o DATATRAVELER está setado como Disco rigido também ;)

Alguma sugestão?

Iuri Diniz disse...

Oi Fernando,
eu tive um problema parecido com este com um Positivo Mobo da minha Tia. O pendrive não funcionava no notebook dela, tive que usar outro pendriver.

Veja se seu pendrive funciona no PC normal ou noutro notebook. Tente também refazer o processo.

Você consegue abrir o sistema de arquivos do pendriver num pc normal?

Fernando disse...

Sim, funciona normal em outras máquinas e já testei com outro pendrive... estou conseguindo hoje um cartão SD para testar...

Carl disse...

estou tendo problemas com o kernel que vc mostrou. toda vez que inicializo o eee pc ele aparece "loading hardware drivers". a mensagem fica por 5 minutos e depois aparece [fail]. alguem sabe como resolver o problema? agradeço.

arthur disse...

Olá, não manjo muito dessas compilações e configurações avançadas etc...seria possível que você criasse uma imagem (tipo clone) do seu sistema todo mastigadinho feito uma iso? para download por exemplo...(muita pretenção né?). Acredito que muitos aprovariam a idéia.

Iuri Diniz disse...

Fernando, não tenho pendriver para testar, mas tenta ver a
fase 2 deste roteiro para instalar o Windows XP

Iuri Diniz disse...

Artur,

muito estranho, mas ele fica normal depois disto?


tenta entrar em modo single

Iuri Diniz disse...

Carl, vamos esperar o 9.04

Anônimo disse...

A versão 9.04 do Ubuntu está espetacular. Supreendeu-me em todos os aspectos. Sou utilizador do Ubuntu deste a versão 7.04.
A Canonical de 6 em 6 meses tem me supreendido bastante.

Ao vasculhar a internet encontrei o tutorial que me ajudou a instalar e configurar o Ubuntu 9.04 (Jaunty Jackalope) com sucesso.
Deixo aqui o link, e espero que ajude a que tiver necessidade:
Como instalar e configurar no teu computador o Ubuntu 9.04 (Jaunty Jackalope)