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
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.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).