sexta-feira, 24 de Outubro de 2014

Divagações com imagens raw ( VirtualBox ) / Linux


VirtualBox, é uma interface CLI ( VBoxManager ) que fornece uma forma muito fácil de converter uma imagem raw para o formato VDI / VMDK.


1. Vou assumir que existe uma imagem raw no dispositivo sdb, executar:

sudo dd if=/dev/sdb of=./sdb.raw

2. Para ser possível utilizar essa imagem com o VirtualBox, é necessário esta ser convertida para VDI, executar:

VBoxManage convertdd sdb.raw sdb.vdi --format VDI

3. Para ser possível utilizar essa imagem com o VMware, é necessário esta ser convertida para o formato VMDK, executar:

VBoxManage convertdd sdb.raw sdb.vmdk --format VMDK

4. Converter entre formatos VDI / VMDK, executar:

VBoxManage clonehd sdb.vdi sdb.vmdk --format VMDK

OU

VBoxManage clonehd sdb.vmdk sdb.vdi --format VDI

5. Converter uma imagem raw, executar:

VBoxManage clonehd sdb.vdi sdb.raw --format RAW

6. Uma solução alternativa para se voltar para a imagem raw após a aplicação de modificações é usar qemu-img via o pacote qemu, executar:

qemu-img convert -f vmdk sdb.vmdk -O raw sdb.raw

7. Agora estamos em posição de escrever a imagem para o dispositivo, executar:

sudo dd if=./sdb.raw of=/dev/sdb


Divirta-se!

Resoluções Gráficas ( Sistema ) / Debian e Derivados


Por vezes em Linux somos por algumas vezes confrontados, seja qual for a distribuição que se encontre em utilização, podem exister problemas ao nível dos drivers gráficos, os quais teimam em não permitir a execução da resolução máxima suportada pela placa gráfica e / ou pelo próprio monitor.


Para o caso presente neste artigo, eu vou supor que estamos perante uma resolução mínima de 640x480, num monitor Acer 22'.

1. Editar o ficheiro /etc/X11/xorg.conf, executar:

vi /etc/X11/xorg.conf

Poderemos visualizar algo semelhante, como o apresentado seguidamente:

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Acer X223W"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

2. As linhas que controlam a resolução no monitor são duas, vejamos:

HorizSync       28.0 - 33.0
VertRefresh     43.0 - 72.0

Dependendo do tamanho do monitor, é necessário encontrar as taxas correctas para HorizSync e para VertRefresh.

3. Encontrar as taxas HorizSync e VertRefresh suportadas em Linux

Fui precisamente utilizar o xrandr da seguinte forma:

xrandr --query   

O output, foi o seguinte:

xrandr --query

Screen 0: minimum 8 x 8, current 1680 x 1050, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
   1680x1050      60.0*+
   1600x1200      60.0 
   1440x900       75.0     59.9 
   1400x1050      60.0 
   1360x765       60.0 
   1280x1024      75.0 
   1280x960       60.0 
   1152x864       75.0 
   1024x768       75.0     70.1     60.0 
   800x600        75.0     72.2     60.3     56.2 
   640x480        75.0     72.8     59.9 
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-I-3 disconnected (normal left inverted right x axis y axis)

Precisamente o comando xrandr --query, não teve qualquer mais valia para a resolução do problema.

4. Encontrar as taxas HorizSync e VertRefresh com o ddcprobe

4.1 É necessário instalar em primeiro lugar o xresprobe, o qual contém o ddcprobe, executar:

apt-get install xresprobe

4.2 Assim que o xresprobe se encontre instalado, podemos de imediato executar o comando seguinte ( ddcprobe ), para localizar todas as taxas suportadas pelo monitor em causa no tocante a HorizSync e VertRefresh, vejamos:

ddcprobe

vbe: VESA 3.0 detected.
oem: NVIDIA
vendor: NVIDIA Corporation
product: GF104 Board - 10410001 Chip Rev
memory: 14336kb
mode: 640x400x256
mode: 640x480x256
mode: 800x600x16
mode: 800x600x256
mode: 1024x768x16
mode: 1024x768x256
mode: 1280x1024x16
mode: 1280x1024x256
mode: 320x200x64k
mode: 320x200x16m
mode: 640x480x64k
mode: 640x480x16m
mode: 800x600x64k
mode: 800x600x16m
mode: 1024x768x64k
mode: 1024x768x16m
mode: 1280x1024x64k
mode: 1280x1024x16m
edid:
edid: 1 3
id: 000d
eisa: ACR000d
serial: 7430d0b5
manufacture: 43 2007
input: analog signal.
screensize: 47 30
gamma: 2.200000
dpms: RGB, active off, suspend, standby
timing: 720x400@70 Hz (VGA 640x400, IBM)
timing: 720x400@88 Hz (XGA2)
timing: 640x480@60 Hz (VGA)
timing: 640x480@67 Hz (Mac II, Apple)
timing: 640x480@72 Hz (VESA)
timing: 640x480@75 Hz (VESA)
timing: 800x600@60 Hz (VESA)
timing: 800x600@72 Hz (VESA)
timing: 800x600@75 Hz (VESA)
timing: 832x624@75 Hz (Mac II)
timing: 1024x768@87 Hz Interlaced (8514A)
timing: 1024x768@70 Hz (VESA)
timing: 1024x768@75 Hz (VESA)
timing: 1280x1024@75 (VESA)
ctiming: 1600x1200@60
ctiming: 1152x864@75
ctiming: 1280x960@60
ctiming: 1360x850@60
ctiming: 1440x1440@60
ctiming: 1440x1440@75
ctiming: 1400x1050@60
dtiming: 1680x1050@77
monitorrange: 31-84, 56-77
monitorserial: LAV0C0484010
monitorname: X223W

4.3 O parâmetro que me interessa é mesmo o monitorrange: 31-84, 56-77, sendo estas as taxas HorizSync e VertRefresh, com valores mais elevados suportados pelo monitor em causa.

Por outro lado o ddcprobe, também me indicou outras informações bastante úteis, como monitorserial e monitorname:

monitorserial: LAV0C0484010
monitorname: X223W

6. Seguidamente vou misturar isto tudo e resolver o problema ...

7. Editar o ficheiro xorg.conf para ser possível corrigir as taxas HorizSync e VertRefresh.

Portanto sabemos os valores exactos necessários para solucionar este problema.

7.1 Agora o próximo passo é editar o ficheiro /etc/X11/xorg.conf, com os valores que desejo, executar:

vi /etc/X11/xorg.conf

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Acer X223W"
    HorizSync       31.0 - 84.0
    VertRefresh     56.0 - 77.0
    Option         "DPMS"
EndSection

7.2 Seguidamente, gravar as alterações realizadas no xorg.conf e de imediato executar o restart e começar a utilizar a resolução 1680x1050.

Para este exemplo, eis o xorg.confg:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 304.48  (pbuilder@cake)  Wed Sep 12 10:54:51 UTC 2012

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 304.88  (pbuilder@cake)  Wed Apr  3 08:58:25 UTC 2013

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Acer X223W"
    HorizSync       31.0 - 84.0
    VertRefresh     56.0 - 77.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 460"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

IMPORTANTE: outras informações úteis aqui.


Divirta-se!

Vsphere Virtual Machine Management / Livro


Vsphere Virtual Machine Management


Download.


Divirta-se!

Objective-C Quick Syntax Reference / Livro


Objective-C Quick Syntax Reference


Download.


Divirta-se!

Understanding Advanced Statistical Methods / Livro


Understanding Advanced Statistical Methods


Download.


Divirta-se!