﻿SoftUSB2

+Co to?
SoftUSB2 to system pozwalający w łatwy i przyjemny sposób instalować i uruchamiać wiele systemów na UFS910

+Co potrzebuje?
Do uruchomienia potrzebny jest pendrive lub dysk na którym będziesz trzymał obrazy systemów oraz połączenie telnetem z tunerem.

+Jak to uruchomić?
Poniższy opis zakłada, że pendrive to /dev/sda1, wykonaj na Kathi polecenie df aby sprawdzić jaki device to twój pendrive
Wymagany jest kernel obsługujący 2nd stage. Jeżeli w trakcie wykonywania poleceń wyskoczy jakiś błąd napisz o tym na forum.

- Ściągnij paczkę z SoftUSB2 (załącznik na dole tematu)
- Przygotuj pendrive'a (najlepiej pustego)
- Uruchom soft Kathrein na tunerze
- Wepnij pendrive do Kathi
- Telnet: Odmontuj pendrive poleceniem: umount /dev/sda1
  (Jeżeli dostaniesz błąd to spróbuj tego: rm /etc/mtab; ln -s /proc/mounts /etc/mtab; umount /dev/sda1)
- Ftp: przekopiuj do /tmp pliki z archiwum SoftUSB2: mkdosfs, busybox
- Telnet: nadaj atrybuty, polecenie: chmod 775 /tmp/mkdosfs; chmod 755 /tmp/busybox
- Telnet: katalog do montowania: mkdir -p /tmp/target

Jeżeli chcesz używać FAT16/32: (teoretycznie można to wszystko wykonać na komputerze, niestety czasami zdarza się że uboot ma problemy z poprawnym odczytaniem etykiety i dlatego zalecam robić to w tunerze)
- Telnet: formatowanie pendrive: /tmp/mkdosfs -n "UFS910" /dev/sda1 (dodatkowo jeżeli chcesz określić że ma być to FAT32 dopisz -F 32)
- Telnet: montowanie pena: mount -o shortname=mixed -t vfat /dev/sda1 /tmp/target

Jeżeli chcesz używać EXT2/3:
- Telnet: formatowanie pendrive: /tmp/busybox mke2fs -j -L "UFS910" -m0 -b4096 /dev/sda1 (jeżeli chcesz ext2 usuń przełącznik -j)
- Telnet: montowanie pena: mount /dev/sda1 /tmp/target

- Telnet: utworzenie katalogu softusb2: mkdir /tmp/target/softusb2
- Ftp: wgraj zawartość archiwum do /tmp/target/softusb2
- Telnet: przejdź do katalogu softusb2: cd /tmp/target/softusb2
- Telnet: nadanie wykonywalności: chmod -R 775 *

Kolejne polecenia instalują i konfigurują uboota (wykonuje się to tylko raz, tylko przy instalacji)
- Telnet: instalacja drugiego uboota: ./softusb2.sh install 2nd
  (dla IPboxa ./softusb2.sh install ipbox)
- Telnet: konfiguracja sieci: ./softusb2.sh set net 192.168.1.20 255.255.255.0 192.168.1.1
- Telnet: konfiguracja urządzenia SoftUSB2: ./softusb2.sh set device usb fat UFS910 (jeżeli korzystasz z ext2/3 zmień wpis odpowiednio)
  (dla IPboxa ./softusb2.sh set device usb fat IPBOX 0:1 - 0:1 numer partycji w zapisie dla uboota)

Kolejne polecenia to konfiguracja bootmenu (konfiguracja zapisywana jest w pliku a nie w ubootcie)
- Telnet: konfiguracja bootmenu: ./softusb2.sh set bootmenu 4 5
- Telnet: tworzenie pliku softusb: ./softusb2.sh mkimage /hdd/e2.tar.gz e2test
- Telnet: przykładowa konfiguracja image'a: ./softusb2.sh set image 1 "Flash" pvr105 flash
- Telnet: przykładowa konfiguracja image'a: ./softusb2.sh set image 2 "Enigma2 Test" e2 softusb e2test
- Telnet: informacje o konfiguracji: ./softusb2.sh status

To jest tylko przykład użycia, bardzo prosty pokazujący podstawowe polecenia.
Pełną listę poleceń, opis oraz składnie znajdziesz w pliku pdf w archiwum.

Znane problemy jakie możesz napotkać
- Mam zmienionego uboota na tego z bootmenu i nie działa mi SoftUSB2 :(
  Do instalacji drugiego uboota musisz użyć polecenia: ./softusb2.sh install 2nd noitest
  Dlaczego? Uboot twój nie obsługuje polecenia itest które jest potrzebne do wykonania pewnych operacji.

- Po wyjęciu pendrive'a nie startuje mi nic
  Musisz wykonać reanimacje Kąski (niestety). Softusb podczas instalacji kopiuje konfiguracje pierwszego uboota tak żeby w razie problemów uruchomić soft z flasha.
  Niestety działa to poprawnie tylko jeżeli masz standardowe wpisy w pierwszym ubootcie. Możesz ręcznie zdefiniować co jest wgrane we flashu definiując w SoftUSB image 0.

- Uboot nie wykrywa partycji z FAT16/32
  Uboot nie wykrywa czasami poprawnie nazwy parycji. Aby sprawdzić jaką nazwę partycji wykrywa uboot wykonaj na kathi polecenie: dd if=/dev/sda1 bs=1 count=11 skip=71 2>/dev/null (gdzie /dev/sda1 to twoja partycja). Użyj narzędzia dosfslabel aby nadać etykietę a uboot powinien dobrze wykrywać etykietę partycji. Poprawka tego pokaże się niedługo.

- Startuje soft Kathrein (lub bazujący na nim) i tuner restartuje się w kółko.
  Zmień wersje softu w konfiguracji image'a. Np. AAF2.0e wymaga pvr105 a nie pvr106, PKT1.07 by zdzislaw22 wymaga pvr106 do startu.
  Dlaczego tak jest? SoftUSB2 dostosowuje wpisy pierwszego uboota tak aby były odpowiednie dla danego softu, niestety w niektórych modach program bootparam check jest z innej wersji i powoduje to takie właśnie problemy.

- Po starcie Enigmy dostaje green-screen / E2 w ogóle nie startuje.
  Polecenie mkimage domyślnie robi pliki softusb o rozmiarze 128mb, jest to wystarczające do trzymania samego systemu. Wiele modów robi jednak pliki ze swapem i powoduje to zapełnienie po brzegi pliku softusb. Zwiększenie pliku softusb do 256mb powinno wystarczyć aby zmieścił się w środku plik swap (./softusb2.sh /hdd/e2.tar.gz e2 256)


Tu podaje moje polecenia jakie ja wykonuje przy konfiguracji wszystkiego od zera:
./softusb2.sh install 2nd
./softusb2.sh set device usb fat UFS910
./softusb2.sh set net 192.168.1.252 255.255.255.0 192.168.1.250
./softusb2.sh set bootmenu 5 5
./softusb2.sh set flash pvr105
./softusb2.sh mkimage /hdd/E2_rev996.tar.gz e2 128
./softusb2.sh set image 1 "Enigma2 Stable" e2 softusb e2
./softusb2.sh set image 2 "Enigma2 sda2" e2 part /dev/sda2 0:2
./softusb2.sh set image 3 "AAF3.0beta pvr107 softusb aaf30
./softusb2.sh set image 4 "Enigma2 Dev NFS" e2 nfs /nfs/enigma2
./softusb2.sh extract /hdd/E2_rev996.tar.gz LABEL
./softusb2.sh set image 5 "Enigma2 Dir" e2 partdir /images/e2test LABEL

IPBox version:
(uboot w IPBoxie nie obsługuje znajdowanie partycji po etykiecie dlatego trzeba podawać numer partycji zjadliwy dla uboota)
./softusb2.sh install ipbox
./softusb2.sh set device usb fat IPBOX 0:1
./softusb2.sh set net 192.168.1.252 255.255.255.0 192.168.1.250
./softusb2.sh set flash dgs
./softusb2.sh mkimage /hdd/E2_rev996.tar.gz e2 128
./softusb2.sh set image 1 "Enigma2 Stable" e2 softusb e2
./softusb2.sh set image 2 "Enigma2 sda2" e2 part /dev/sda2 0:2
./softusb2.sh set image 3 "Enigma2 Dev NFS" e2 nfs /nfs/enigma2
./softusb2.sh extract /hdd/E2_rev996.tar.gz LABEL
./softusb2.sh set image 4 "Enigma2 Dir" e2 partdir /images/e2test LABEL 0:2

Krótki opis loadera SoftUSB2 (softusb2.ub):
Jest to mini-system który wykonuje pewne operacje przed uruchomieniem docelowego systemu. Głównym jego zadaniem jest:
- obsługa montowanie partycji poprzez podaną etykietę (np root=LABEL=UFS910)
- obsługa plików softusb.
- pokazywanie postępu na VFD (ikonki reprezentują stan loadera, usb informuje o podmontowaniu pena/dysku, hdd o podmontowaniu pliku softusb, rec o wykonywaniu fsck na dysku lub/i pliku softusb)
- wykrywanie partycji swap (lub plik swap.part stworzony przez polecenie mkswap)

Betatesterzy z PKT używali zazwyczaj ext2/3 ponieważ w FAT występuje problemy z odczytaniem etykiety w pewnych warunkach.
Ja gorąco zachęcam do korzystania z FAT, ponieważ pozwala to w prosty sposób zarchiwizować i przywrócić dobrze działające image'e na własnym komputerze :)

Powodzenia w konfiguracji i przyjemności z korzystania ;)

PS. Wielkie podziękowania dla całego PKT i betatesterów za pomoc, pomysły i testy :)
