Arquivo mensal: Fevereiro 2014

bochs sobre Raspberry Pi ( em Português )

< x86 em ARM >
Eu tento correr DOS em Debian ofegante em Raspberry Pi.
( Windows95 também é possível, mas é muito lento )

< Instale “bochs” >
Instalação “bochs” é muito fácil.
Linha de comando é como abaixo.

root@myhost:~# apt-get install bochs bochs-x bochs-sdl bochs-svga

< Gerar imagem de disco rígido >
Executar “bximage” no seu Raspberry Pi.
Eu recomendo para executar “bximage” como usuário não-root.
Você deve executar “bximage” como um usuário que usar “bochs”.
É 2GB amostra da imagem.

$ bximage
========================================================================
                                bximage
                  Disk Image Creation Tool for Bochs
        $Id: bximage.c,v 1.34 2009/04/14 09:45:22 sshwarts Exp $
========================================================================
Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd]
What kind of image should I create?
Please type flat, sparse or growing. [flat]
Enter the hard disk size in megabytes, between 1 and 129023
[10] 
2048
I will create a ‘flat’ hard disk image with
  cyl=4161
  heads=16
  sectors per track=63
  total sectors=4194288
  total size=2047.99 megabytes
What should I name the image?
[c.img] 
msdoshdd.img
Writing: [] Done.
I wrote 2147475456 bytes to msdoshdd.img.
The following line should appear in your bochsrc:
  
ata0-master: type=disk, path=”msdoshdd.img”, mode=flat, cylinders=4161, heads=16, spt=63

“bximage”, disse para adicionar linha “
ata0-master: type=disk, path=”msdoshdd.img”, mode=flat, cylinders=4161, heads=16, spt=63” para “.bochsrc”.

< Gerar “.bochsrc” para MS-DOS >
Vá para o seu diretório home.
Eu uso o “nano” para editar arquivos de texto.

$ cd /home/username
$ nano .bochsrc

Meu “.bochsrc” é como abaixo.

megs: 64
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
display_library: sdl
ata0-master: type=disk, path=/home/username/msdoshdd.img, mode=flat, cylinders=4161, heads=16, spt=63
ata0-slave: type=cdrom, path=/home/username/MS-DOS-6.22.iso, status=inserted
boot: cdrom, disk
#keyboard_mapping: enabled=1, map=/usr/share/bochs/keymaps/x11-pc-us.map
log: bochsout.txt
clock: sync=realtime, time0=local

“MS-DOS-6.22.iso” é o meu arquivo de inicialização do MS-DOS. Por favor, substitua-o para qualquer arquivo ISO inicializável que você tem. Na minha “.bochsrc”, rato não está disponível. Se você quiser usar o mouse, por favor google sobre “Como editar bochsrc para usar o mouse.”

< Instalar VNC >
Se você usar o monitor HDMI, você não precisa deste passo.
Se você não usar a tela, você precisa instalar o servidor VNC para X remoto no Raspberry Pi.
Executar esta linha de comando como root.

root@myhost:~# apt-get install tightvncserver

Executar esta linha de comando como um usuário que usar “bochs”.

$ vncserver :1 -geometry 1024×768 -depth 24
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? 
n
New ‘X’ desktop is myhost:1

“:1″ significa a porta “5901″.
“-geometry 1024×768″ significa resolução.
“-depth 24″ significa cores em bits.

< Executar bochs >
Por favor, ligue o seu servidor VNC em Raspberry Pi. (Ou use “startx” com display HDMI)
E executar terminal. ( ex. LXTerminal )
Executar bochs no terminal.

$ bochs

Às vezes bochs perguntar-lhe como essa sintaxe.

A PANIC has occurred.  Do you want to:
  cont       – continue execution
  alwayscont – continue execution, and don’t ask again.
               This affects only PANIC events from device [MEM0 ]
  die        – stop execution now
  abort      – dump core
  debug      – hand control to gdb

Eu sempre respondo “alwayscont”.

< Para ser honesto >
Tentei instalar Windows 95.
Mas ele precisa de imagens FD de DOS e Windows 3.1. (Meu Windows 95 é versão de atualização)
Era problemático para mim.
Então eu mudei o meu objetivo.

Instalar “Debian wheezy” para LS-XHL

< Aviso >
Eu posso garantir nada sobre seus problemas que acontecem ao seu hardware ou de dados, seguindo meu procedimento nesta página. Por favor, realize o procedimento por sua conta e risco.

< O que é “LS-XHL”? >
É uma espécie de NAS(Network Attached Storage – Wikipedia) feito por Buffalo(Empresa japonesa).
Você pode encontrar NAS semelhantes na Amazônia, pesquisando “linkstation”.
Podemos instalar o Debian nele.
( Talvez “LS-XHL” é velho demais para comprar um novo, você pode comprar apenas usado. )

< Eu instalei Debian ofegante para “LS-XHL” >
Eu escrevi sobre o procedimento para instalar o Debian ofegante de “LS-XHL”.
Basicamente eu sigo “http://www.zorac.org/wp/?p=447“(página japonês) e “Buffalo NAS-Central Forums • View topic – LS-CHLv2 – LS-XHL – Debian Wheezy Rootfs – Update 2013.05.15“(página Inglês).
Se você quer entender ou ler mais, leia estas páginas ou google as palavras-chave sobre eles.

< Coisas que você precisa >
1. LS-XHL ( LS-VL é semelhante ao LS-XHL, talvez única configuração de rede é diferente. )
2. Debian Wheezy Rootfs ( http://neboola.de/fjen/lschlv2/debian/wheezy/ )
3. Máquina Debian ou Ubuntu ( Eu recomendo máquina CPU ARM. Mas talvez no-ARM é possível. )
4. USB caso disco rígido ( Você precisa disso para conectar temporariamente a máquina Linux. Se for possível, SATA interno ou qualquer tipo de conexões estão OK. )

Eu escrevi os procedimentos da ARM e no-ARM como mesmos que possível, mas alguns procedimentos são diferentes. Eu verifiquei apenas na máquina ARM. Por favor, tenha cuidado.

< Algo como armadilhas >
1. Quando eu uso “Gparted” para o particionamento, LS-XHL não arrancar. (“parted” é OK.)
2. “chroot” para esta rootfs só está disponível na máquina ARM.

< PASSO 1 – Desmonte LS-XHL >
Achei o bom vídeo no Youtube. Por favor, siga este.

( Talvez desmontagem LS-VL é o mesmo. )
Sua peça de plástico é muito fácil de quebrar, por favor, tome cuidado para não quebrar quando você abri-lo.
Mesmo se você quebrar alguma parte, talvez ele possa trabalhar. Não se preocupe tanto.
Porque eu quebrar muitos parte de plástico da minha LS-XHL haha …

< PASSO 2 – Particionamento e formatação de HDD >
Inicializar sua máquina Linux. ( Eu costumava ofegante Debian em Raspberry Pi. )
Entrar na máquina Linux como root.
Se a sua máquina não tem “parted”, instale “parted”.
Se o Linux é Debian ou Ubuntu, execute esta linha de comando.

apt-get install parted

Em seguida, conecte o seu novo disco rígido(para LS-XHL) para esta máquina Linux por USB ou qualquer tipo de ligações.
E verifique as informações do disco rígido. Se o seu disco rígido está em “/dev/sda”, execute esta linha de comando.

parted /dev/sda print

No meu caso, ele mostrou como esta.

Model: ATA Hitachi HDS72202 (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B

Palavra importante é “2000GB” em linha “Disk /dev/sda: 2000GB”. Por favor, lembre-se a mesma parte do seu disco rígido.
Tornar as partições.

parted /dev/sda mklabel gpt
parted -a cylinder /dev/sda mkpart primary 0 511
parted -a cylinder /dev/sda mkpart primary 511 8191
parted -a cylinder /dev/sda mkpart primary 8191 9215
parted -a cylinder /dev/sda mkpart primary 9215 2000G
parted /dev/sda set 1 boot on

Este é o meu exemplo.
Eu estava pensando em usar
“/dev/sda1″ para “/boot”,
“/dev/sda2″ para “/”,
“/dev/sda3″ para swap,
“/dev/sda4″ para “/home”.
Você precisa mudar “2000G” da linha “parted -a cylinder /dev/sda mkpart primary 9215 2000G”.
Além disso, você pode mudar a cada tamanho da partição.
Partições Definição.

mke2fs -I 128 -j /dev/sda1
mke2fs -j -t ext4 /dev/sda2
mkswap /dev/sda3
mke2fs -j -t ext4 /dev/sda4

Montar partições para expandir Rootfs.

mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

< PASSO 3 – Expandir Rootfs >
Vá até a pasta temporária como “/tmp”.
E obter “debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz” de http://neboola.de/fjen/lschlv2/debian/wheezy/.

cd /tmp
wget http://neboola.de/fjen/lschlv2/debian/wheezy/debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz

Expandi-lo para “/mnt”.

tar Jxvf debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz -C /mnt

Baixar “uImage.buffalo.3.9.2-fjen-1.lsxhl” para “/mnt/boot”.

cd /mnt/boot
wget http://neboola.de/fjen/lschlv2/debian/wheezy/lsxhl-kernel-for-20130515/uImage.buffalo.3.9.2-fjen-1.lsxhl

< PASSO 4 – Atualizar configurações >
Por favor, atualize esses cinco arquivos.
/mnt/etc/fstab
/mnt/etc/network/interfaces
/mnt/etc/resolv.conf
/mnt/etc/hostname
/mnt/etc/hosts

Este é o meu “/mnt/etc/fstab”.

/dev/sda1       /boot         ext3     noauto,noatime         1 2
/dev/sda2       /             ext4     noatime                0 1
/dev/sda3       none          swap     sw                     0 0
/dev/sda4       /home         ext4     noatime                0 0
proc            /proc         proc     defaults               0 0
shm             /dev/shm      tmpfs    nodev,nosuid,noexec    0 0
devpts          /dev/pts      devpts   gid=4,mode=620         0 0
#tmpfs           /tmp          tmpfs    defaults               0 0
sysfs           /sys          sysfs    defaults               0 0

Este é o meu “/mnt/etc/network/interfaces”.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
  address 192.168.1.101
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

Se você usar “LS-VL”, ele não tem “eth1″.
Talvez “/mnt/etc/network/interfaces” é assim.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
  address 192.168.1.101
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

( Estes são apenas amostras. Por favor, defina os valores corretos para a sua própria rede. )
Este é o meu “/mnt/etc/resolv.conf”.

domain linkstation
search linkstation
nameserver 8.8.8.8
nameserver 8.8.4.4

Linhas “domain linkstation” e “search linkstation” não são necessárias.
Meu “/mnt/etc/hostname” é “linkstation”.
Eu não atualizar “/mnt/etc/hosts”.
Mas você pode alterá-los, se quiser.

< PASSO 5 – chroot >
Usando chroot, mas ele só está disponível na mesma arquitetura. ( Neste caso, é a arquitetura ARM. )

chroot /mnt

Se você não tem máquina ARM ou deixar de “chroot”, vá para o PASSO 6.
Se o seu “chroot” é sucedido, siga este caminho.

cd /boot
mv uImage.buffalo uImage.buffalo.bk
ln -s uImage.buffalo.3.9.2-fjen-1.lsxhl uImage.buffalo

< PASSO 6 – Se você não pode “chroot” >

( Eu não testei essa etapa do processo, tenha cuidado. E eu recomendo ao google alguma informação sobre isso. )

cd /mnt/boot
mv uImage.buffalo uImage.buffalo.bk
mv uImage.buffalo.3.9.2-fjen-1.lsxhl uImage.buffalo

< PASSO 7 – As definições básicas >
Insira HDD para LS-XHL e carregá-lo. Quando você fizer isso, eu recomendo não dirigir um parafuso e não para fechar a tampa. Pronto para re-instalar o Debian, se você falhar a instalação.
Conecte “192.168.1.101″(é o meu exemplo) por SSH.
Senha de root padrão é “toor”.

ssh root@192.168.1.101

( É exemplo Linux/UNIX. )
Siga estes comandos depois fez o acesso.

passwd
dpkg-reconfigure locales
dpkg-reconfigure tzdata
rm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server

Estas linhas significam
1. Redefinição de senha de root
2. Atualize seu locale
3. Atualize seu fuso horário
4. Atualize chave SSH
Você precisa SSH sair para atualizar chave SSH em cliente SSH.
Se você usar o SSH no Linux/UNIX, siga este comando para atualizar a chave SSH cliente.

ssh-keygen -R 192.168.1.101

Depois disso, re-logar como root e execute “apt-get”.

apt-get update
apt-get upgrade

Agora é completa.
Por favor, dirija um parafuso e fechou a tampa.
Boa sorte!

< Obrigado >
Muito para uma pessoa que compilou “Debian Wheezy rootfs”, as pessoas em http://forum.buffalo.nas-central.org/viewtopic.php?f=71&t=26291 e uma pessoa que escreveu http://www.zorac.org/wp/?p=447 Obrigado.
Você fez a minha instalação muito mais fácil! Obrigado!