W tym urządzeniu jest fabrycznie zainstalowana wersja Ubuntu. Po włączeniu wtyczki działa w zasadzie out of the box. Podczas konfiguracji korzystałem z: Getting started with the SheevaPlug. Do połączenia się potrzebny jest kabel z wtyczkami USB/miniUSB. Po podłączeniu końcówek kabla uruchamiam skrypt:
#!/bin/sh if [ -e /dev/ttyUSB1 ] ; then cu -s 115200 -l /dev/ttyUSB1 elif [ -e /dev/ttyUSB2 ] ; then cu -s 115200 -l /dev/ttyUSB2 else echo "No usb tty found - exiting" fi
Loguję się jako root
. Fabryczne hasło to nosoup4u
.
Zmieniam hasło z domyślnego na własne.
Problem z siecią (więcej
tutaj). Dopisuję
do pliku /etc/dhcp3/dhclient.conf
prepend domain-name-servers 192.168.1.1;
Nie działa
apt-get
-- kończy pracę z błędem. Trzeba
wykonać:
mkdir -p /var/cache/apt/archives/partial
Uwaga: ponieważ katalog var/cache/apt
jest umieszczony
w tymczasowym systemie plików (tmpfs
), reboot spowoduje jego usunięcie.
Poradnik
Getting started with the SheevaPlug
jest ,,w tym temacie'' mylący. Jak to poprawić prawidłowo jest wyjaśnione
w New
Plugger How To. Należy zmodyfikować /etc/rc.local
w następujący sposób:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. chmod 1777 /tmp /var/tmp mkdir -p /var/cache/apt/archives/partial # You might also want to add, after the mkdir, a line "/usr/sbin/ntpdate-debian" # to automatically sync your clock over the network. # ntpdate-debian
Inne polecenia należy usunąć lub ,,zakomentować''. Zamiast ntpdate-debian
,
który synchronizuje czas przy każdym restarcie, zdecydowałem się na uruchomienie
demona ntpd
:
apt-get install ntp
Ustawienie nazwy hosta. Nb. Nazwałem go jupiter.
vi /etc/hostname # dodanie co trzeba do pliku /bin/hostname -F /etc/hostname
Poprawienie czasu:
Fix clock
Ustawienie lokali (więcej na ten temat tutaj). Do pliku:
/var/lib/locales/supported.d/local
Dopisujemy pl_PL ISO-8859-2
(ustawiając kodowanie na
ISO-8859-2). Następnie wykonujemy:
dpkg-reconfigure locales
Zmiana strefy czasowej:
dpkg-reconfigure tzdata
Zamontowanie zewnętrznego dysku USB.
Mój dysk będzie montowany
w katalogu /public
. Zatem mkdir /public
a następnie do pliku /etc/fstab
dopisuję:
## external usb drive: /dev/sda1 /public ext3 auto,user,rw 0 0
teraz:
mount /public
Dopisane 3 lutego 2010: Po podłączeniu dysku przez
USB huba, a nie bezpośrednio, coś się rozjeżdża. Dysk zamiast być
/dev/sda1
pojawia się ni-stąd ni-z owąd jako
urządzenie /dev/sdb1
. Nie ustaliłem nawet przyczyn tego
fenomenu: po prostu dwa razy tak się stało. Dysk był de facto
odłączony a próba wykonania mount /public
, kończyła się
oczywiście niepowodzeniem. Spróbuję zmienić wpis
w /etc/fstab
na następujący:
/dev/disk/by-id/usb-WD_bla-bla-bla-part1 /public ext3 auto,user,rw 0 0
może będzie lepiej...
Instalowanie dodatkowych pakietów:
apt-cache search fuse apt-get install fuse-utils apt-get install libxml-dom-xpath-perl libxml-dom-perl \ libflickr-api-perl libflickr-upload-perl libxml-libxml-perl \ libxml-simple-perl # Nie wiem po co ale zainstalowałem też (100mb) apt-get install mysql-server # instalowanie bittorrent (bittornado jest chyba niepotrzebne) # http://jakilinux.org/aplikacje/p2p/rtorrent-p2p-w-konsoli/ apt-get install bittorrent bittornado rtorrent # instaluje Konfigurowanie esniper (2.19.0-1) ; bieżąca wersja 2.21 # http://buechler.blogspot.com/2006/03/sniping-ebay-auctions-with-esniper-on.html apt-get install esniper # instalacja locate apt-get install mlocate vi /etc/updatedb.conf # PRUNEPATHS to, które _nie będą_ indeksowane, dodaję /public żeby # nie był indeksowany zewnętrzny dysk USB # PRUNEPATHS="/tmp /var/spool /media /public"
Logowanie bez hasła za pomocą ssh
(więcej
tutaj):
ssh-copy-id -i ~/.ssh/id_rsa.pub jupiter
Uruchamianie crontaba przez zwykłego użytkownika (por. tutaj oraz tutaj):
chmod u+s /usr/bin/crontab
teraz działa.
Założenie repozytorium svn
(ustaw uprzednio lokale)
mkdir /public/sheeva/svnrepo svnadmin create /public/sheeva/svnrepo
Teraz do pliku /etc/init.d/svnserve
wpisuję:
#!/bin/sh # # start/stop subversion daemon. EXECUTABLE=/usr/bin/svnserve # Test exist:ence of the executable test -f $EXECUTABLE || exit 0 # Command line options for starting the service # To increase security, you can pass the -r option to svnserve, which restricts it to exporting # only repositories below that path, cf http://www.linxit.de/svnbook/en/1.0/ch06s03.html OPTIONS='-d -r /public/sheeva/svnrepo' case $1 in start) echo -n "Starting subversion daemon: $EXECUTABLE $OPTIONS\n" start-stop-daemon -vo -x $EXECUTABLE -S -- $OPTIONS echo -n "." ;;
wykonuję:
update-rc.d svnserve defaults ## na ekranie pojawiają się komunikaty, ale można je zignorować: update-rc.d: warning: /etc/init.d/svnserve missing LSB information update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
start usługi:
service svnserve start
Konfiguracja:
groupadd svn vi /etc/group ## dodaję to grupy svn użytkowników tomek,eros chgrp -R svn /public/sheeva/svnrepo/ chmod -R 770 /public/sheeva/svnrepo/
Teraz tomek i eros mogą czytać/pisać z repozytorium svn
, np.:
## import projektu svn import svn+ssh://tomek@jupiter/public/sheeva/svnrepo/repo1 -m import ## listowanie zawartości svn list svn+ssh://tomek@jupiter/public/sheeva/svnrepo/repo1
Zob też tutaj
Aktualizacja systemu:
apt-get upgrade
Warto wykonać, m.in. pojawia się vim
w wersji mini. Nie jest
to aż takie ważne, ale ja osobiście jestem przyzwyczajony do vim
a.
ln -s /usr/bin/vim.tiny /usr/local/bin/vim
Gcc i kompilacja (najnowszej wersji programu esniper
):
## por http://computingplugs.com/index.php/Compiling_Mythtv-0.21_on_the_Sheeva_Plug apt-get install gcc make libcurl4-openssl-dev libcurl3 curl libwww-curl-perl gcc
Po doinstalowaniu powyższych pakietów skompilowałem esniper
w najnowszej wersji 0.21.
Po tej operacji nie można się zalogować jako root
.
Problem jest podobno znany.
Reset hasła roota.
Należy wyłączyć komputerek, połączyć się kablem USB/miniUSB i naciskając
dowolny klawisz przerwać normalny proces bootowania.
Gdy na ekranie pojawi się znak zachęty Marvell>
, wpisujemy:
Marvell> printenv bootargs ## wyświetli się coś w stylu bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),\ 0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1\ rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none ## teraz Marvell> setenv bootargs console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),\ 0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1\ rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none init=/bin/bash Marvell> boot
A następnie:
passwd -d root passwd root
Zmieniamy hasło. Restart i powinno już być OK.
Samba. Na razie (mam nadzieję) nie potrafię skonfigurować:-(
Po tych wszystkich ww. zabiegach mam ciągle ok. 260 Mb wolnej pamięci flash.
Inne strony z informacjami n/t SheevaPlug. Instalowanie Debiana na USB/karcie SD: 1 2 3 Instalowanie Fedory: 4 5
Dopisane 17 listopada 2009:
Zamontowałem 16 Gb kartę SD (Patriot 6 Class, 130 PLN)
-- sformatowaną jako ext2 -- dopisując do pliku /etc/fstab
:
/dev/mmcblk0p1 /media/sd ext2 auto,user,rw 0 0
Teraz wiele rzeczy (np. dane z Internetu pobierane via cron albo pliki pobierane przez torrenta) zamiast być zapisywane od razu na dysk USB, będą zapisywane na kartę SD. Dzięki temu dysk będzie rzadziej używany... Mniej zużytego prądu i hałasu...
Dopisane 18 listopada 2009: Programik do pobierania filmów z YT:
apt-get install youtube-dl
Aktualizacja kopii roboczej po zalogowaniu się.
Łączenie
z siecią WiFi trwa około 30 sekund po zalogowaniu się użytkownika,
więc proste wstawienie
odpowiednich poleceń do .bash_profile
nie wystarczy.
Różne rozwiazanie proponowane są w:
How to run a command after connecting to network?
Dopisane 20 listopada 2009:
Nie można się zalogować jako root
do bazy mysql
.
Pomogła procedura opisana tutaj:
how
to install mysql:
## Zatrzymać usługę: service mysql stop ## Uruchomić mysqld w specjalnym trybie: mysqld --skip-grant-tables # Uruchomić klienta mysql: mysql # i wpisać poniższe: FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'hasło'\ WITH GRANT OPTION;
Na koniec dwa istotne adresy: PlugComputer Community | forum oraz Plug Wiki.
Dopisane 25 listopada 2009: doinstalowałem
php
(ciągle mam ponad 230Mb wolnego miejsca w głównym
systemie plików).
apt-get install php5 php-pear php5-mysql php5-cli