Tags Posts tagged with "beaglebone black"

beaglebone black

przez -
3 664
BeagleBoard

BeagleBone Black Rev C to płytka od BeagleBoard.org, która ceną ma konkurować z Raspberry Pi Model B, a wyposażeniem być o wiele lepsza od niej. Na pokładzie znajdziemy układ TI Sitara AM3359 taktowany zegarem 1GHz, zbudowany w oparciu o procesor ARMv7l Cortex-A8, 512 MB pamięci RAM DDR3 o taktowaniu 606MHz, a także 4 GB wbudowanej pamięci flash eMMC. Dodatkowo zamontowano procesor ARM Cortex-M3 do zarządzania poborem energii.

Zasilanie BeagleBone Black Rev C odbywa się poprzez port Mini-USB, wtyczkę DC jack lub jakieś zewnętrzne źródło 5 V. Dodatkowo mamy regulator PMIC, a cała platforma pobiera jedynie 2.3 Wata. Jej wymiary to 863 x 533 mm, a waga to jedynie 39.7 gramów. Płytka posiada na pokładzie domyślnie zainstalowany system Debian.

Płytkę można kupić w sklepach: ematador.pl, Botland.com.pl i elty.pl.

Wirtualna rzeczywistość, sprzęt

Moduł 4DCAPE-70T to 7 calowy dotykowy wyświetlacz LCD TFT dla BeagleBone Black, który otrzymaliśmy od sklepu internetowego ematador.pl. Moduł działa od razu po podłączeniu do płytki poprzez złącza GPIO oraz posiada przyciski nawigacyjne. Dzięki wyprowadzeniom wideo na złączach GPIO w Beaglebone Black, nie potrzebujemy dodatkowych kabli do podłączenia urządzeń ze sobą, ponieważ piny są dostępne z tyłu ekranu.

Jak widać na powyższym filmie ekran po podłączeniu jest od razu gotowy do użycia. Przy pierwszym uruchomieniu, zostaniemy poproszeni o kalibrację ekranu, która jest wywoływana przez system po jego wykryciu. Możemy ją sami uruchomić w każdej chwili, wchodząc odpowiednio w: System -> Administration -> Calibrate touchscreen (na systemie Ångström).

Specyfikacja modułu 4DCAPE-70T:

  • Rozdzielczość 800 x 480, 65000 kolorów, matryca LCD TFT 7.0 cali ze zintegrowanym panelem dotykowym z interfejsem 4-Wire
  • 7 przycisków (UP, DOWN, LEFT, RIGHT, ENTER, RESTET POWER)
  • 2 diody LED: jedna sygnalizująca zasilanie, druga do wykorzystania dla użytkownika
  • W pełni kompatybilny z istniejącymi sterownikami
  • 4 blaszki montażowe z otworami 3.5 mm
  • Zasilany bezpośrednio z BeagleBone Black
  • Wymiary modułu: 179.9 x 114.9 x 19.5 mm
  • Wymiary modułu wraz z podłączonym BeagleBone Black: 179.9 x 114.9 x 19.5 mm
  • Zgodne z RoHS
  • Zgodne z CE (moduły ze znakiem CE )

Moduł 4DCAPE-70T posiada cztery uchwyty montażowe oraz 7 przycisków nawigacyjnych. Z tyłu dostępne jest złącze do wpięcia BBB oraz wyprowadzenia złącz z BBB dzięki czemu możemy w łatwy sposób podłączyć kolejne moduły. Po podłączeniu BBB możemy od razu uruchomić urządzenie. Nie będziemy potrzebowali nic dodatkowego. Dla mniej wymagający dostępny jest również model 4DCAPE-43T ekranu o przekątnej 4.3 cala.

Dzięki zastosowaniu takiego modułu możemy budować panele do sterowania przeróżnymi urządzeniami. Mamy możliwość przygotowania własnego oprogramowania w  jakimkolwiek języku programowania  i z wykorzystaniem ulubionego interfejsu graficznego. Zastosowanie nie musi kończyć się tylko na używaniu jako sterownika. Możemy zbudować swoja własną maszynę do gier, czy po prostu zrobić swój własny tablet. Wszystko zależy od naszych możliwości i chęci.

Podsumowanie
Jak widać moduł 4DCAPE-70T jest naprawdę prosty w obsłudze. Wystarczy tylko go podłączyć i cieszyć się dotykowym ekranem. Sama cena 349zł również jest przystępna. Szkoda tylko że ekran dotykowy jest rezystancyjny co zmniejsza precyzję ale wiadomo, że takiej wielkości ekran nie nadają się do obsługi samego pulpitu a raczej paneli do sterowania. Urządzenia jako panel do sterowania nada się wyjątkowo dobrze a wyprowadzenia GPIO dają możliwość podłączenia kolejnych modułów. W kolejnym wpisie zaprezentujemy prostą aplikację do sterowania światłem oraz wiatrakiem.

przez -
0 639
BeagleBoard

BeagleBoard.org rozpoczęło produkcję BeagleBone Black Rev C, w której zwiększono ilość pamięci flash eMMC do 4 GB oraz domyślnym systemem został Debian. Pierwsze wersje mają się pojawić już 5 maja tego roku. Do producentów płytki dołączył Farnell element14, który aktualnie zajmuje się produkcją Raspberry Pi i Raspberry Pi Compute Module. Zmiana z Angstrom Linux na Debian podyktowana została wielkością społeczności i wsparciem, jakie oferuje.

BeagleBoard

Serwa wykorzystujemy do przeróżnych rzeczy w naszych projektach, od prostego wychylania czy obracania do bardziej złożonych narzędzi jak ramiona, uchwyty. Niedawno opisywaliśmy sterowanie serwami w Raspberry Pi, z wykorzystaniem biblioteki PIGPIO. Pokażemy jak steruje się serwami w BeagleBone Black za pomocą biblioteki BoneScript.

Schemat podłączenia

Poniżej przedstawiamy schemat podłączenia serwa do BeagleBone Black. Należy zauważyć, że serwo jest zasilane osobno z baterii/zasilacza i zalecamy podłączać je w taki sposób, aby wyeliminować możliwość uszkodzenia płytki. Do przykładu użyliśmy Serwo Redox L360. PWM z serwa zostało podłączone do pinu P8_13, zasilanie 5V i GND podłączone z zasilacza lub baterii, zaś GND z pinu P8_2 podłączone do GND z zasilacza. Na schemacie widoczny jest również rezystor 1kΩ, który jest opcjonalny.

BeagleBone Black - sterowanie serwem za pomocą biblioteki BoneScript - schemat

Sterowanie za pomocą BoneScript

Domyślną biblioteką do sterowania pinami w BeagleBone Black jest BoneScript, która została napisana w JavaScript. Na płytce zainstalowany jest serwer node.js, dzięki czemu możemy sterować pinami bezpośrednio w przeglądarce lub tworząc własną stronę.

BeagleBone Black - serwer node.js w przeglądarce

Panel webowy dostępny jest po adresem IP podłączonego BeagleBone Black. Można tam zobaczyć przykłady sterowania pinami za pomocą wielu funkcji.

Aby zobaczyć działanie poniższego kodu, które obraca serwem, wejdź na stronę IP_twojego_BBB/Support/BoneScript/pinMode/ i w okienku EXAMPLE wklej poniższy kod, po czym naciśnij przycisk run.

var b = require('bonescript');
var SERVO = 'P8_13';
var duty_min = 0.03;
var position = 0;
var increment = 0.1;

b.pinMode(SERVO, b.OUTPUT);
updateDuty();

function updateDuty() {
    // compute and adjust duty_cycle based on
    // desired position in range 0..1
    var duty_cycle = (position*0.115) + duty_min;
    b.analogWrite(SERVO, duty_cycle, 60, scheduleNextUpdate);
    console.log("Duty Cycle: " + 
        parseFloat(duty_cycle*100).toFixed(1) + " %");   
}

function scheduleNextUpdate() {
    // adjust position by increment and 
    // reverse if it exceeds range of 0..1
    position = position + increment;
    if(position < 0) {
        position = 0;
        increment = -increment;
    } else if(position > 1) {
        position = 1;
        increment = -increment;
    }
    
    // call updateDuty after 200ms
    setTimeout(updateDuty, 200);
}

Serwo zacznie się obracać w obydwie strony. Jest to przykład wykorzystania biblioteki BoneScript do sterowania serwem za pomocą funkcji analogWrite().

Sterowanie z poziomu terminala

Można również sterować serwem za pomocą komendy w terminalu; przykładowo dla PWM z częstotliwością 50Hz:

node -e "require('bonescript').analogWrite('P9_14', 0.010, 50, console.log);"

Gdzie druga wartość powinna być od 0.000 do 0.180 dla częstotliwości 50Hz (100Hz od 0.0. do 0.240, 200Hz 0.0. do 420 itd.). Sterowanie odbywa się za pomocą serwera node.js, identycznie jak ma to miejsce poprzez panel www.

Zarówno w panelu jak i poleceniu w konsoli do sterowania serwem użyta została funkcja analogWrite(pin,value,freq,callback).

Artykuł ten jest częścią serii o BeagleBone Black. Za dostarczenie płytki oraz pozostałych urządzeń dziękujemy BOTLAND.com.pl

BeagleBoard

Ostatnio pisaliśmy o obsłudze termometrów w Raspberry Pi. Tym razem pokażemy jak wygląda sprawa odczytu temperatur z czujników za pomocą BeagleBone Black, która nie posiada złącza 1-wire, ale za to w przeciwieństwie do Raspberry Pi posiada siedem złączy analogowych do których bez problemów podłączymy analogowe czujniki temperatury. W artykule tym pokażemy jak łatwo można podłączyć i odczytać temperatury z termometrów LM35DZ.

Wybór czujników

Do naszego przykładu wykorzystaliśmy analogowy czujnik temperatury LM35DZ.

Schemat podłączenia

Na poniższym obrazku przedstawiliśmy schemat podłączenia termometru LM35DZ do złącz GPIO BBBlack. Aby przypomnieć sobie układ portów GPIO polecamy zobaczyć nasz artykułu BeagleBone Black – złącza GPIO. Pierwsza nóżka od lewej z czujnika podłączona jest do pinu 5 (5V), środkowa nóżka podłączona jest do pinu 40 (wejście analogowe AIN1) a trzecia nóżka do analogowego minusa GND_ADC.

BeagleBone Black termometr schemat

Program do odczytu temperatury

Utworzymy prosty program, który będzie wyświetlać nam temperaturę z naszego czujnika. Aby program zadziałał należy zainstalować bibliotekę AdafruitBBIO. Opisywaliśmy proces instalacji biblioteki w artykule BeagleBone Black – sterowanie diodami.
Tworzymy plik temperatura.py

nano temperatura.py

i wklejamy poniższy kod

import Adafruit_BBIO.ADC as ADC
import time

ADC.setup()

while True:
    reading = ADC.read("P9_40")
    mv = reading * 5000
    temp_c = (mv - 500) / 10
    temp_f = (temp_c * 9/5) + 32
    print('C=%d F=%d' % (temp_c, temp_f))
    time.sleep(1)

Program odczytuje wartość, którą pomnażamy przez 5000 (5V=5mV które zasila nasz czujnik). I na podstawie wartości mV obliczamy temperaturę w stopniach Celsjusza a następnie z niej obliczamy temperaturę w stopniach Fahrenheita. A na końcu program wyświetla nasze wartości temperatur.

Uruchamiamy naszą aplikację

python temperatura.py

powinniśmy zobaczyć odczyty z naszego czujnika podanej temperatury w stopniach Celsjusza i Fahrenheita

root@beaglebone:~# python temperatura.py
C=22 F=73
C=23 F=73
C=22 F=73
C=22 F=73
C=23 F=73
C=22 F=73
C=22 F=73

Aby zatrzymać program naciskamy CTRL+c

Oczywiście istnieje możliwość odczytu temperatury z cyfrowego czujnika ds18B20. Opis jak tego dokonać znajdziecie TU.

Artykuł ten jest częścią serii o BeagleBone Black. Za dostarczenie płytki oraz termometru dziękujemy BOTLAND.com.pl

przez -
4 399
BeagleBoard

Jak podaje portal LinuxGizmos.com płytka BeagleBone Black została sprzedana już 100 000 razy, od czasu jej oficjalnego wprowadzenia 24 kwietnia 2013 roku, a także pierwszej rozesłanej serii 27 maja 2013 roku. Porównując jednakże do 2 mln sprzedanych Raspberry Pi, wynik może troszkę przytłaczać, jednakże sam marketing wokół tego urządzenia jest o wiele bardziej skromny, aniżeli ma to miejsce przy RPi. BeagleBone Black to także zupełnie inny rynek docelowy, a także o wiele lepsze wyposażenie.

Urządzenie posiada procesor TI Sitara AM3359 taktowany zegarem 1GHz, zbudowany w oparciu o ARMv7l Cortex-A8, 2 GB wbudowanej pamięci flash eMMC, procesor ARM Cortex-M3 do zarządzania poborem energii, a co najważniejsze 65 portów GPIO.

BeagleBoard

BeagleBone Black ma być wydajnościową i cenową konkurencją dla Raspberry Pi Model B. Dzięki zastosowaniu procesora TI Sitara AM3359 taktowanego zegarem 1GHz, zbudowanego w oparciu o ARMv7l Cortex-A8, 512 MB pamięci RAM DDR3 o taktowaniu 606MHz, karty graficznej PowerVR SGX530 oraz 2 GB wbudowanej pamięci flash eMMC, otrzymujemy naprawdę ciekawy komputer. Jak zatem przedstawia się jego wydajność w stosunku do Raspberry Pi Model B?

Na początek zrobiliśmy porównanie Debiana 7.1 Wheezy i Ubuntu 13.04 na BeagleBone Black. Konfiguracja testowa przedstawiała się następująco: Phoronix Test Suite 4.8.2, procesor ARMv7 rev2 o taktowaniu 1.00 GHz, 438 MB pamięci RAM, jądro Linux 3.8.13-bone20, GCC 4.6.

Jak widzimy nie ma dużych różnic pomiędzy tymi systemami. Próbowaliśmy zrobić jeszcze testy z użyciem Arch Linuksa, ale pakiet testowy wyrzucał błędy i nie da się go w żaden sposób uruchomić.

BeagleBone Black vs Raspberry Pi Model B

Rok temu twórcy Raspberry Pi udostępnili możliwość podkręcania bez utraty gwarancji, tzw. Turbo Mode. Pozwala on na zwiększenie taktowania urządzenia do 1 GHz, przy napięciu 1.35 V. Postanowiliśmy, że właśnie w tym trybie zrobimy kilka testów porównawczych z BeagleBone Black.

Konfiguracja testowa Raspberry Pi wyglądała następująco: Phoronix Test Suite 4.8.2, procesor ARMv6-compatible rev 7 o taktowaniu 1.00 GHz, płyta główna BCM2708, 438 MB pamięci RAM, jądro Linux 3.6.11+ (armv6l), kompilator GCC 4.6, Raspbian 2013-09-10 oparty na Debianie 7.1 Wheezy.

W teście kompilacji widać znaczącą przewagę BBB nad Maliną, w kodowaniu i kompresji różnice są niewielkie, z przewagą RPi. Ciekawostką okazał się test szyfrowania, gdzie Raspberry Pi ma 70 sekundową przewagę nad BeagleBone Black. Powtarzaliśmy ten benchmark kilka razy i zawsze wychodziły te same wyniki.

Artykuł ten jest częścią serii o BeagleBone Black. Za dostarczenie płytek dziękujemy BOTLAND.com.pl

Beaglebone Black Rev B

BeagleBone Black to płyta główna, posiadająca na pokładzie procesor TI Sitara AM3359 taktowany zegarem 1GHz, zbudowany w oparciu o ARMv7l Cortex-A8, 512 MB pamięci RAM DDR3 o taktowaniu 606MHz, kartę graficzną PowerVR SGX530 oraz 2 GB wbudowanej pamięci flash eMMC. Dzięki takiej konfiguracji jest w stanie uruchamiać pokaźną ilość systemów operacyjnych. W dzisiejszym artykule opiszemy ich instalację.

Narzędzia do instalacji

Windows

Pod Windowsem będziemy używali głównie narzędzia Win32 Disk Imager.

Linux

Pod Linuksem będziemy korzystali głównie z konsoli, polecenia xz i dd. Przyda nam się też pakiet xz-utils, a także gnome-disk-utility. Kartę SD należy wcześniej całkowicie wyczyścić, bez jej wstępnego formatowania.

Ubuntu 12.04.2 LTS

Ubuntu 12.04.2 LTS posiada długoterminowe wsparcie, a także jak wiemy zaktualizowane jądro Linux 3.8. Obraz systemu posiada jądro armhf 3.8 autorstwa Roberta Nelsona.

Pobieramy obraz systemu: ubuntu-precise-12.04.2-armhf-3.8.13-bone20.img.xz (June 9, 2013). Sprawdzamy jego sumę kontrolną md5: 19e81997cce7217a68c04088d8f31edd, a następnie instalujemy przy użyciu polecenia:

xz -cd ubuntu-precise-12.04.2-armhf-3.8.13-bone20.img.xz > /dev/sdb

Teraz trzeba jeszcze przeładować tablicę partycji:

partprobe /dev/sdb

Możemy także rozpakować całość i wgrać z użyciem dd:

dd if=ubuntu-precise-12.04.2-armhf-3.8.13-bone20.img of=/dev/sdb

Odczekujemy chwilkę, aż wszystko zostanie wgrane na kartę, po czym wkładamy ją do BeagleBone Black, wciskamy mały przycisk przy czytniku i włączamy zasilanie. Powinien załadować się nam system.

Dane do logowania się:
nazwa: ubuntu-armhf
użytkownik: ubuntu
hasło: ubuntu

Ubuntu 13.04

Ubuntu 13.04 to najnowsza aktualnie wersja systemu Ubuntu z jądrem Linux 3.8. Obraz systemu posiada jądro armhf 3.8 autorstwa Roberta Nelsona.

Pobieramy obraz systemu: ubuntu-raring-13.04-armhf-3.8.13-bone20.img.xz (June 9, 2013). Sprawdzamy jego sumę kontrolną md5: b3883d8d0edd3a157e1ce85f7490d235, a następnie instalujemy przy użyciu polecenia:

xz -cd ubuntu-raring-13.04-armhf-3.8.13-bone20.img.xz > /dev/sdb

Teraz trzeba jeszcze przeładować tablicę partycji:

partprobe /dev/sdb

Możemy także rozpakować całość i wgrać z użyciem dd:

dd if=ubuntu-raring-13.04-armhf-3.8.13-bone20.img of=/dev/sdb

Odczekujemy chwilkę, aż wszystko zostanie wgrane na kartę, po czym wkładamy ją do BeagleBone Black, wciskamy mały przycisk przy czytniku i włączamy zasilanie. Powinien załadować się nam system.

Dane do logowania się:
nazwa: ubuntu-armhf
użytkownik: ubuntu
hasło: ubuntu

Debian 7.0 Wheezy

Debian 7.0 Wheezy to najnowsza aktualnie wersja systemu Debian z jądrem Linux 3.8. Obraz systemu posiada jądro armhf 3.8 autorstwa Roberta Nelsona.

Pobieramy obraz systemu: debian-wheezy-7.0.0-armhf-3.8.13-bone20.img.xz (June 9, 2013). Sprawdzamy jego sumę kontrolną md5: 0fceaa0455cc32eb0f42ef10dca68605, a następnie instalujemy przy użyciu polecenia:

xz -cd debian-wheezy-7.0.0-armhf-3.8.13-bone20.img.xz > /dev/sdb

Teraz trzeba jeszcze przeładować tablicę partycji:

partprobe /dev/sdb

Możemy także rozpakować całość i wgrać z użyciem dd:

dd if=debian-wheezy-7.0.0-armhf-3.8.13-bone20.img of=/dev/sdb

Odczekujemy chwilkę, aż wszystko zostanie wgrane na kartę, po czym wkładamy ją do BeagleBone Black, wciskamy mały przycisk przy czytniku i włączamy zasilanie. Powinien załadować się nam system.

Dane do logowania się:
nazwa: debian-armhf
użytkownik: debian
hasło: debian

ArchLinux ARM

Arch Linux nie posiada gotowego obrazu do wgrania. Musimy ręcznie wgrać sobie pliki na kartę. Jednakże zaletą tego rozwiązania jest to, że będziemy mieli do dyspozycji od razu całą dostępną przestrzeń karty.
Uruchamiamy program fdisk:

fdisk /dev/sdb
  • Teraz kasujemy wszystkie stare partycje wciskając o.
  • Sprawdzamy partycje, jakie są na karcie z użyciem p.
  • Tworzymy nową partycję: wciskamy n, następnie p jako primary, 1 dla pierwszej partycji na dysku, akceptujemy Enterem domyślny pierwszy sektor, a następnie wpisujemy +64M, aby ustawić wielkość na 64 MB.
  • Wciskamy t, w celu zmiany typu partycji, następnie e aby ustawić ją jako W95 FAT16
  • Wciskamy a, potem 1 dla flagi bootującej na pierwszej partycji.
  • Teraz wpisujemy n, następnie p dla primary, 2 dla drugiej partycji na dysku, dwa razy wciskamy Enter dla domyślnego pierwszego i ostatniego sektora.
  • Zapisujemy tablicę partycji, wciskając w.

Tworzymy system plików FAT16 na pierwszej partycji:

mkfs.vfat -F 16 /dev/sdb1

Tworzymy system plików Ext4 na drugiej partycji:

mkfs.ext4 /dev/sdb2

Pobieramy paczkę z bootloaderm i rozpakowujmy ją na pierwszą partycję. Paczka zawiera bootloader, wymagany do uruchomienia jądra Linux. Plik MLO musi zostać umieszczony na partycji FAT z poziomu użytkownika root.

wget http://archlinuxarm.org/os/omap/BeagleBone-bootloader.tar.gz
mkdir boot
mount /dev/sdb1 boot tar -xvf BeagleBone-bootloader.tar.gz -C boot
umount boot

Pobieramy paczkę z systemem plików i rozpakowujemy to na drugiej partycji. To też wykonujemy z poziomu użytkownika root.

wget http://archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz
mkdir root
mount /dev/sdb2 root tar -xvf ArchLinuxARM-am33x-latest.tar.gz -C root
umount root

Odczekujemy chwilkę, aż wszystko zostanie wgrane na kartę, po czym wkładamy ją do BeagleBone Black, wciskamy mały przycisk przy czytniku i włączamy zasilanie. Powinien załadować się nam system.

Logowanie się do systemu:
Użytkownik: root
Hasło: root

Instalacja na pamięci wewnętrznej eMMC

Aby zainstalować Arch Linuksa na pamięci wewnętrznej postępujemy zgodnie z punktami 4 – 7, a jako urządzenie wybieramy /dev/mmcblk1p[1|2]. Partycjonowanie nie jest wymagane, z racji że BBB posiada je poprawnie zrobione.

Artykuł ten jest częścią serii o BeagleBone Black. Za dostarczenie płytki dziękujemy BOTLAND.com.pl

Rozszerzanie drugiej partycji na Ubuntu i Debianie

Jak zapewne większość z was zauważyła, przy wgrywaniu obrazów Ubuntu i Debiana, mają one po około 1.9 GB. Jest to zrobione po to, aby system mógł się zmieścić bez problemu na wszystkie karty SD i pamięci wbudowane. Jednakże, co jeżeli ktoś ma kartę 4GB i większą? Nie ma tutaj żadnego problemu z tym.

Sprawdzamy aktualne partycje na karcie:
fdisk /dev/mmcblk0

root@ubuntu-armhf:/home/ubuntu# fdisk /dev/mmcblk0

Command (m for help): p

Disk /dev/mmcblk0: 3904 MB, 3904897024 bytes
4 heads, 16 sectors/track, 119168 cylinders, total 7626752 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     3751935     1873920   83  Linux

Command (m for help): 

Jak widzimy powyżej mamy aktualnie dostępne dwie partycje o rozmiarach odpowiednio: 1024 i 1 873 920 bloków, które dzieląc przez 1024 MB da nam wielkość partycji. Zatem partycja mmcblk0p1 posiada 1 MB, natomiast mmcblk0p2 równa się 1830 MB.

Teraz musimy wykasować tą drugą partycję, zatem wciskamy d, a następnie 2 dla drugiej partycji:

Command (m for help): p

Disk /dev/mmcblk0: 3904 MB, 3904897024 bytes
4 heads, 16 sectors/track, 119168 cylinders, total 7626752 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     3751935     1873920   83  Linux

Command (m for help): d
Partition number (1-4): 2

Command (m for help): p

Disk /dev/mmcblk0: 3904 MB, 3904897024 bytes
4 heads, 16 sectors/track, 119168 cylinders, total 7626752 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12

Command (m for help):

Następnie wciskamy n dla nowej partycji, p dla podstawowej, i 2 dla drugiej. Teraz musimy określić sektor startowy i końcowy, zatem wystarczy że dwa razy wciśniemy Enter.

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (4096-7710719, default 4096): 
Using default value 4096
Last sector, +sectors or +size{K,M,G} (4096-7710719, default 7710719): 
Using default value 7710719

Command (m for help): p

Disk /dev/mmcblk0: 3947 MB, 3947888640 bytes
4 heads, 16 sectors/track, 120480 cylinders, total 7710720 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x80000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048        4095        1024    1  FAT12
/dev/mmcblk0p2            4096     7710719     3853312   83  Linux

Command (m for help):

Teraz wystarczy zapisać zmiany, jakie dokonaliśmy, wciskając w. Może się okazać, że tablica partycji jest zajęta, więc wystarczy ponownie uruchomić maszynę. Ale i tak powinno się to zrobić dla bezpieczeństwa.

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Mamy już drugą partycję większą, zatem rozszerzymy nasz system plików o tą wielkość, przy użyciu narzędzia resize2fs.

root@ubuntu-armhf:/home/ubuntu# df   
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/mmcblk0p2   1811704 281964   1436044  17% /
none                   4      0         4   0% /sys/fs/cgroup
devtmpfs          253756      4    253752   1% /dev
none               50780    220     50560   1% /run
none                5120      0      5120   0% /run/lock
none              253900      0    253900   0% /run/shm
none              102400      0    102400   0% /run/user
/dev/mmcblk0p1      1004    472       532  48% /boot/uboot
root@ubuntu-armhf:/home/ubuntu# 
root@ubuntu-armhf:/home/ubuntu# resize2fs /dev/mmcblk0p2
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 952832 blocks long.

root@ubuntu-armhf:/home/ubuntu# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/mmcblk0p2   3719696 282876   3269320   8% /
none                   4      0         4   0% /sys/fs/cgroup
devtmpfs          253756      4    253752   1% /dev
none               50780    220     50560   1% /run
none                5120      0      5120   0% /run/lock
none              253900      0    253900   0% /run/shm
none              102400      0    102400   0% /run/user
/dev/mmcblk0p1      1004    472       532  48% /boot/uboot
root@ubuntu-armhf:/home/ubuntu# 

I mamy aktualnie całą dostępną kartę do naszego własnego użytku.

Kopia zapasowa systemu

Obraz wgrany, system zaktualizowany i przystosowany do pełnej pracy. Teraz wypadałoby zrobić sobie jego kopię zapasową, aby w razie jakiegoś błędu, móc bez problemu go przywrócić. W tym celu użyjemy narzędzia dd, aczkolwiek można wykorzystać także program Clonezilla.

dd if=/dev/sdb of=/home/użytkownik/kopia-zapasowa.img

Polecane

Prasa, Czasopismo

1 916
Ukazało się Linux Magazine – numer 161. Lipcowe wydanie magazynu zawiera analizę tworzenia bardziej czytelnych wyrażeń regularnych z Simple Regex Language, instrukcje zabezpieczania i...