wtorek, 30 lipca 2013

Instalacja Debian Wheezy na Pogoplug

Jakiś czas temu trafiłem na Allegro.pl na sprytne urządzenie, które omija zabezpieczenia sieci (firewall, porty itd.) dając nam dostęp do naszych plików niezależnie od miejsca naszego przebywania, warunkiem jest podpięcie pamięci masowej pod usb oraz internet (poza standardowym kabel można kupić wersje w wi-fi).
Poniższe czynności wykonujesz na własną odpowiedzialność!!!

Do postawienia Debiana potrzebujemy:

- Pogoplug (oczywista oczywistość) podpięty poprzez USB do komputera + dysk zewnętrzny podpięty do Pogo ( tutorial nie wspiera w/w wersji z wi-fi),
- ALARM - więcej informacji TUTAJ,
- Wcześniejszą wersję  kernela ALARM, np. Warhead SE's 2.6.31.6_SMP_820,
- Komputer z Ubuntu ( może być 13.04 wersja 32-bit Live),
- Internet ;)

1) Uruchamiamy maszynę z Ubuntu:


Ustawiamy ściężkę:

export arch=/home/ubuntu/alarm


export pogodebian=/home/ubuntu/pogodebian-rootfs

następnie:

mkdir $pogodebian


mkdir $arch


2) Pobieramy ALARM (jeżeli plik zostanie skasowany: https://safelinking.net/d/2140438f65):

wget http://os.archlinuxarm.org/os/oxnas/ArchLinuxARM-2012.12-oxnas.tar.gz


wypakujmy pliki:

sudo tar xzvpf ArchLinuxARM-2012.12-oxnas.tar.gz -C alarm


musimy zaktualizować nasz system:


sudo apt-get update


następnie dodać do niego:


sudo apt-get install qemu-user-static debootstrap


3) Tworzymy rootfs (obraz/przestrzeń w naszym urządzeniu pozwalający na instalację pakietów):


sudo debootstrap --verbose --arch armel --foreign squeeze $pogodebian/ http://ftp.de.debian.org/debian

sudo cp /usr/bin/qemu-arm-static $pogodebian/usr/bin/

sudo mount --rbind /dev $pogodebian/dev

sudo mount -t proc none $pogodebian/proc


sudo mount -o bind /sys $pogodebian/sys

sudo chroot $pogodebian

debootstrap/debootstrap --second-stage

exit


4) Kopiujemy elementy z ALARM do Pogoplug:


sudo cp -a $arch/lib/modules/2.6.31.6_SMP_820 $pogodebian/lib/modules/

sudo mkdir $pogodebian/lib/firmware/2.6.31.6_SMP_820

sudo cp -a $arch/lib/modules/gmac_copro_firmware $pogodebian/lib/firmware/2.6.31.6_SMP_820


Wsparcie dla kontrolek LED:

sudo cp -a $arch/sbin/proled $pogodebian/sbin/


sudo cp -a $arch/sbin/devmem2 $pogodebian/sbin/


poprawki/ustawienia:

sudo chown -R root:root $pogodebian/lib/modules/2.6.31.6_SMP_820

sudo chown root:root $pogodebian/lib/firmware/2.6.31.6_SMP_820

sudo chown root:root $pogodebian/sbin/proled

sudo chown root:root $pogodebian/sbin/devmem2


sudo gunzip -r $pogodebian/lib/modules/2.6.31.6_SMP_820/

(ignorujemy pojawiąjące się ostrzeżenia)


5) Konfigurujemy system:

sudo chroot $pogodebian


do nano /etc/rc.local dodajemy:

# turn on LED
/sbin/proled green

po odcięciu zasilania diody również muszą się wyłączyć, dodatkowo dodamy informacje do logów o wyłączeniu urządzenia:

do /etc/rc0.d/K081halt dodamy:

log_action_msg "Will now halt"
/sbin/proled off
halt -d -f $netdown $poweroff $hddown

poinformujemy system o modułach dla Pogoplug'a: (nano /etc/modules)

mii
gmac

oxnas-led

do /etc/default/rcS dodajemy:

HWCLOCKACCESS=no

CONCURRENCY=shell

następnie:

depmod -a 2.6.31.6_SMP_820


dodamy repozytoria do listy:

nano /etc/apt/sources.list

deb http://ftp.de.debian.org/debian squeeze main

apt-get update

dodamy pakiety odpowiadające za dostęp zdalny:

apt-get install locales openssh-server usbutils psmisc dhcp3-client

nano /etc/locale.gen

en_US.UTF-8 UTF-8

locale-gen

ustawmy hasło dla roota:

passwd

do /etc/hostname dodamy:

nazwą_naszego_urządzenia, np. PoGoPlug

Zamontujemy rootfs:

nano /etc/fstab

/dev/root      /            ext3    noatime,errors=remount-ro 0 1
tmpfs          /tmp         tmpfs   defaults          0       0 

Konfiguracja sieci:

nano /etc/network/interfaces

auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp

hwaddress ether xx:xx:xx:xx:xx:xx

Zamiast  xx:xx:xx:xx:xx:xx, wpisujemy MAC'a naszego urządzenia, który jest na obudowie lub w "papierach"

exit

Możemy skopiować teraz nasz system do Pogoplug'a.

5) Ostateczne starcie:

Jeżeli Pogoplug zostało rozpoznane przez Ubuntu jako/dev/sdb(jeżeli nie jesteśmy pewni df -h)

sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1024

sudo fdisk /dev/sdb

W odpowiedzi powinniśmy otrzymać coś podobnego do poniższego komunikatu:

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x274aa42c.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Następnie tworzymy partycje (wybieramy n oraz p, pozostałe opcje default):

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

Using default value 781311

Na koniec zatwierdzamy partycje poprzez w:

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.

Syncing disks.

Partycje formatujemy jako ext3:

sudo mkfs.ext3 -m00 /dev/sdb1

sudo mkdir /mnt/pogostick

cd $pogodebian

sudo cp -a . /mnt/pogostick/


sudo umount /mnt/pogostick


Odpinamy Pogo od komputera, po ponownym jego uruchomieniu urządzenie powinno wstać (zapalą się po chwili zielone diody). Po podpięciu do sieci możemy wykonać ping do Pogo.



Brak komentarzy:

Prześlij komentarz