2014-06-04

Ubuntu 12.10 for TI AM335x StarterKit



Ubuntu 12.10 for TI AM335x StarterKit:
- Lubuntu (LXDE)- Calibrated Touchscreen- Kernel from TISDK

BOOTFS: http://goo.gl/cHdfxS
ROOTFS: http://goo.gl/QM39K9

MD5SUM:
4a76482bc5a6198e0e88aa2f1dfa4fd6  ubuntu-12.10-lxde-am335x-sk-rootfs-ext3-armhf-v4.tar.gz
f8bfefba5ff5c3c4cae776539aac8103  ubuntu-12.10-console-am335x-sk-boot-fat-armhf-v2.tar.gz

Mini HowTo:
0- You need a SDCard with two partitions: 65 MB to boot and the rest for the system!
sfdisk -l /dev/sdb

Disk /dev/sdb: 1021 cylinders, 245 heads, 62 sectors/track
Units = cylinders of 7777280 bytes, blocks of 1024 bytes, counting from 0
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1   *      0+      8-      9-     65536    e  W95 FAT16 (LBA)
/dev/sdb2          8+   1021-   1014-   7695360   83  Linux
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty

1- Format first SDCard partition as VFAT (FAT16)

mkfs.vfat -n boot /dev/sdb1

2- Format second SDCard partition as EXT3
mkfs.ext3 -L rootfs /dev/sdb2

3- Download files listed above, mount partitions and extract to boot and roofs:
mount /dev/sdb1 /mnt/boot
cd /mnt/boot
tar -xvzpf /PATH_TO/ubuntu-12.10-console-am335x-sk-boot-fat-armhf-v2.tar.gz

mount /dev/sdb2 /mnt/rootfs
cd /mnt/rootfs
tar -xvzpf /PATH_TO/ubuntu-12.10-lxde-am335x-sk-rootfs-ext3-armhf-v4.tar.gz

4- Boot your AM335x SK!!!

5- user: ubuntu/temppwd

6- You must clean 70-persistent-net.rules, under AM335x!
sudo echo "" > /etc/udev/rules.d/70-persistent-net.rules

2014-05-05

Ubuntu 12.10 para AM335x Starter Kit!

Fiz a mudança do kernel do Ubuntu 12.10 para BeagleBone para o kernel do GNU/Linux para kits Sitara da Texas Instruments.

Fontes:
AM335x_Starter_Kit:
http://processors.wiki.ti.com/index.php/AM335x_Starter_Kit#Linux
http://downloads.ti.com/sitara_linux/esd/AM335xSDK/latest/index_FDS.html

Ubuntu 12.10:
http://elinux.org/BeagleBoardUbuntu

Download dos arquivos para rootfs (ext3) e bootfs (fat):
http://goo.gl/EjfTCH


ATENÇÃO TODOS OS DADOS NO SDCARD SERÃO PERDIDOS!
Em um SDCARD (com ao menos 2GB), crie duas partições uma de ao menos 100MB como FAT32 e o restante do sdcard como EXT3:

Particione com fdisk ou cfdisk:
cfdisk -z /dev/sdb

Formate com:
mkfs.vfat -n boot /dev/sdb1
mkfs.ext3 -L rootfs /dev/sdb2


OBS (Antes de usar):
Acesse o arquivo /etc/udev/rules.d/70-persistent-net.rules e troque os MACs para os respectivos de sua am335x, em geral apagar o conteúdo deste arquivo deveria resolver mas não é o caso.


Além disto pode-se criar um arquivo swap para ajudar com os 256MB:

dd if=/dev/zero of=/var/cache/swapfile.fs bs=1024 count=524288
mkswap /var/cache/swapfile.fs

e depois adicione a linha abaixo ao /etc/fstab
/var/cache/swapfile.fs       swap  swap    defaults       0  0

2013-02-08

Como criar um Storage NFS no XCP!

Aqui minha contribuição à comunidade XCP/XEN

1- Ativar o portmap,  em HOSTB, em todas as interfaces, edite o arquivo /etc/sysconfig/portmap e remover o -l deixando assim:
MAP_ARGS=

2- Adicionar o nfs, portmap ao boot,  em HOSTB:
chkconfig nfs on
chkconfig portmap on

3- Configurar o /etc/hosts com os IPs dos servidores do POOL

4- Remover a sr "Local Storage" do servidor SLAVE para uso como NFS Shared,  em HOSTB
xe sr-forget  uuid=xxxxx-xxxxx-xxxx-xxxx-xxxxxx
xe sr-destroy uuid=xxxxx-xxxxx-xxxx-xxxx-xxxxxx

5- Remover a "Volume group (VG)" que estava sendo usada pela sr "Local Storage",  em HOSTB
lvm vgremove XSLocalEXT-xxxxx-xxxxx-xxxx-xxxx-xxxxxx

6- Criar outra VG,  em HOSTB
lvm vgcreate vg0 /dev/sda3

7- Criar a partição lógica, usei todo o espaço,  em HOSTB
lvm lvcreate vg0 /dev/sda3 -l 117184

8- Editar o arquivo,  em HOSTB
/etc/rc.sysinit

9- Localizar o comando vgchange e descomentar as 3 linhas,  em HOSTB
        if [ -x /sbin/lvm.static ]; then
                action $"Setting up Logical Volume Management:" /sbin/lvm.static vgchange -a y --ignorelockingfailure
        fi
com isso a partição LVM será ativada no boot

10- Adicionar um ponto de montagem para a partição LVM, ao /etc/fstab, em HOSTB
            /dev/vg0/lvol0    /remoto    ext3    defaults    0  1

11- Formate a nova partição,  em HOSTB
           mkfs.ext3  /dev/vg0/lvol0

12- Configurar o /etc/exports para exportar o ponto de montagem para todas as máquinas SLAVEs e MASTER,  em HOSTB
           /remoto HOSTB(rw,root_squash,sync) HOSTMASTER(rw,root_squash,sync)

13- Montar a partição LVM e trocar o dono: (/remoto é o ponto de montagem que usei) (a merda do NFS não compartilha com acesso root como deveria),  em HOSTB
           chown -R nfsnobody:nfsnobody /remoto

14- Reinicio o HOSTB e teste em HOSTMASTER e em HOSTB, após boot se o NFS está montando
           mount HOSTB:/remoto /mnt
           touch /mnt/teste
           rm /mnt/teste
           umount /mnt
14.1- Teste em todas as máquinas Mater e Slaves.
14.2- Caso não consiga acessar a porta 111, verifique as configurações do firewall em HOSTB, usando o camando:
            system-config-securitylevel-tui

15- Adicionar uma SR do tipo NFS, shared no HOSTMASTER
           xe sr-create content-type=user type=nfs name-label="SR Remota" shared=true device-config:server=HOSTB device-config:serverpath=/remoto

16- Migrei o VHD para a SR Remota
           xe vdi-pool-migrate uuid=xxxxx-xxxxx-xxxx-xxxx-vdi-em-uso sr-uuid=xxx-uuuu-iiiiii-sr-remota

17- Depois migrei o servidor da VHD do item 16 do HOSTMASTER para o HOSTB
           xe vm-migrate vm=VMHOST01 host=HOSTB live=true

O HOSTB, ficará como membro do POOL e ao invés de ter uma SR Local, terá uma SR NFS compartilhada!

Implantando o XCP Server


Fiz um pequeno apanhado dos sites que usei para implantar XCP.

Ubuntu
https://help.ubuntu.com/community/Xen
http://new-wiki.xen.org/old-wiki/xenwiki/XAPI_on_Ubuntu.html
http://francispereira.com/articles/step-by-step-guide-to-setting-up-xen-and-xenapi-xcp-on-ubuntu-12-04-and-managing-it-with-xencenter/

Download
http://xen.org/download/xcp/releasenotes_1.6.0.html

Como adicionar Storages ISOs ao Xen
http://ronnybull.com/2011/07/30/xen-cloud-platform-xcp-local-iso-storage-repositories/

CITRIX Guia de Referência / Pool / xe (comandos)
http://docs.vmd.citrix.com/XenServer/4.1.0/1.0/en_gb/reference.html (mais compatível com XCP)
http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/reference.html

GUIAs XEN.org / XCP
http://wiki.xen.org/wiki/Xen_Beginners_Guide
http://wiki.xen.org/wiki/XCP_Overview

ROTEIRO Xen
http://new-wiki.xen.org/old-wiki/xenwiki/XAPI_on_Ubuntu.html

Importing Converted VHD Virtual Disk to Citrix XenServer
http://kb.acronis.com/content/1815

2013-01-31

[HOWTO] MacBook Air QUAD BOOT

Aqui um pequeno howto para ter MacOS X, Ubuntu 12.04 or 12.10, Windows 7 e Android-x86 4.2.1 JB, carregando no MacBook Air (deve funcionar em outros MacBooks)

Este procedimento, se seguido corretamente, não remove MacOS X! Tudo é instalado para HDD externo.
É preciso acesso a uma máquina Windows 7

BUGs conhecidos:
- Arquivo de troca do Windows 7, não é criado.
- Ao instalar qualquer software que altere o bootloader do windows, este para de funcionar.
- A partição do Windows deve ser a primeira, ou não funcionará.

[HDD USB]
Precisamos de um HDD USB/externo com 3 partições, uma para cada OS.
Usei um HDD de 500GB com:
200GB para o Windows;
280GB para o Linux e
O restante para o Android

Recomendo fazer este particionamento pelo Ubuntu Linux, usando o pendrive de boot, para isso entre em experimentar o Ubuntu e usar o aplicativo cfdisk
Se preferir usar o Windows, crie apenas a partição do windows e formate esta para NTFS 

[no Mac OS X]
1- Instale rEFIt, é uma ferramenta para menu de boot:
http://refit.sourceforge.net/

2-  Sugiro que use o Mac OS X:

2.1- Abra o terminal, e digite (use sua senha se solicitado):
sudo vi /efi/refit/refit.conf

2.2- Configure seu Mac OS X como default,
Pressione a tecla " i ",  vá para o final do arquivo refit.conf  e antes da linha # EOF, localize e mude a linha:
default_selection W
para:
default_selection M

Precione ESC e digite :wq isto salvará e sairá do vim

2.3- Rode o script enable-always.sh

sudo /efi/refit/enable-always.sh

[no Windows]

3- Faça uma cópia ISO do seu disco de instalação do Windows 7

3.1- No Linux é simples:
dd if=/dev/sr0 of=windows7.iso

3.2- Há softwares para windows, como o Virtual Clone Drive.

4- Instale o Windows Automated Installation Kit, da Microsoft

5- Baixe e descompacte o pacote de instalação para HDDs USB, aqui
Mais detalhes: 
NT 6.x fast installer: install win7 directly to usb external drive

6- Rode o programa Installer.cmd e siga o passo a passo
Mais detalhes sobre todo o processo:
How To Install Windows 7 To USB External Hard Drive [Must Read]

7- Desconecte o HDD e, com o MacBook desligado, plugue o HDD ao MacBook e ligue-o, neste ponto a rEFIt já deve detectar o Windows no HDD externo faça o primeiro boot do windows procedendo a configuração

[no Mac OS X ou Windows]
8- Baixe e instale os pacotes de drivers e aplicativos da Apple para Windows 7
Marque apenas a opção "Transferir o software de suporte para Windows mais recente da Apple"

9- Copie os arquivos do bootcamp para um pendrive volte para o Windows e/ou instale.


[no Ubuntu Linux]
10- Em uma máquina com Ubuntu Linux, crie um pendrive de inicialização com o aplicativo usb-creator-gtk  usando a ISO da versão 64bits do Ubuntu desktop, pode-se usar tanto a 12.04 quanto a 12.10 (e posteriores)

11- Faça o boot pelo pendrive no MacBook Air, e proceda a instalação do sistema

12- Na tela Tipo de Instalação, vá para a opção avançada, e quando o aplicativo lhe perguntar pelas o opções de particionamento, selecione apenas a segunda partição e confirme que não vai querer usar uma partição swap.
ATENÇÃO: Não use a opção Substituir o Mac OS X pelo o Ubuntu, por motivos óbvios, a não ser que você queira usar apenas o Ubuntu Linux.

Após essa instalação você já estará com o Ubuntu Linux, Windows nos HDD USB e Mac OS X no SSD interno.


13- Para instalar o Android-x86 4.2.1, carregue o Ubuntu Linux

14- Instale o qemu e o virtualbox

15- Baixe a ISO mais recente do Android-x86 4.2.1 com os patchs para ethernet, e futuramente com as bibliotecas houdini para emulação ARM

16- Instale o Android-x86 pelo VirtualBox, use ext2 como sistema de arquivos e após um primeiro boot, desligue o Android-x86

17- Monte sua imagem.vdi
sudo modprobe nbd
sudo emu-nbd -c /dev/nbd0 ~/VirtualBox\ VMs/Android\ x86/Android\ x86.vdi
sudo mount /dev/nbd0p1 /mnt

18- Copie os arquivos para a terceira partição no HDD USB

sudo  tar cf - . | (cd /media/disk3/ && tar xvBf -)

ATENÇÃO: substituir /media/disk3 pelo o ponto de montagem da terceira partição do disco USB

19- Crie um link simbólico para a pasta do Android
cd /media/disk3
ln -s android-2013-01-28 android

20- Edite as configurações do GRUB
sudo vi /etc/grub.d/40_custom

Adicione as linhas abaixo:
 menuentry "Android-x86 4.2.1 JB (on /dev/sdb3)" {
  set root='(hd1,msdos3)'
  linux /android/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 video=-16 SRC=/android
  initrd /android/initrd.img
}


21- Atualize o menu do grub
sudo update-grub

Após isso o Android deverá carregar diretamente no hardware do MacBook Air!

O howto está bem resumido, contudo acredito que atende muito bem a maioria dos interessados.