raport: tworzenie przenośnych wersji systemów operacyjnych
Data: 17 luty 2009
Identyfikator: 090333
Splashtop, minidystrybucja Linuksa, dostępna dla wybranych modeli płyt głównych Asusa, pozwala szybko uruchomić PC, by np. zadzwonić przez Skype. Związanie systemu z płytą powoduje sztuczne przypisanie systemu do komputera. Ale można je obejść, a system wgrać na pendrive i używać na każdym pececie. Pokazujemy, jak to zrobić.
Strona 1 z 2
|
Zdradliwe aktualizacje
|
Opisywane w poradzie modyfikacje dotyczą zamieszczonej na DVD wersji 1.2.40 systemu. W dniu pisania artykułu najnowszą była już 1.3.3.1 (wszystkie aktualizacje są dostępne na serwerze ftp://ftp.asus.com/pub/ASUS/misc/utils/). Można ją przerobić w analogiczny sposób do zaprezentowanego, ale uwaga: nowsze pakiety traktowane są przez instalator jako aktualizacje, a nie pełne wydania. Różnica sprowadza się do braku w nowszych wersjach jednego pliku, za to bardzo ważnego – /ce_bz, skompresowanego jądra systemu. Jak sobie z tym poradzić?
Przejść w konsoli do katalogu roboczego (cd ~/splashtop) i zamontować (jako root) dołączonym przez nas skryptem splashtop_mount.sh stary obraz. Następnie po wydaniu komendy:
sudo dd if=/tmp/splash of=ce_header bs=1536 count=1
przegrany zostanie sam nagłówek skompresowanego pliku jądra starego systemu do folderu roboczego, jako plik ce_header. Teraz szybka zamiana: stary obraz należy odmontować (sudo ./splashtop_umount.sh), przygotować wedle opisu w artykule nowy i zamontować go. Clue poprawki: dogranie do wyekstrahowanego nagłówka nowego obrazu jądra i przegranie tak otrzymanego pliku do nowego obrazu. Starczą dwie komendy:
sudo dd if=/tmp/splash/cefull of=ce_header bs=1536 seek=1 sudo cp ce_header /tmp/splash/ce_bz
po czym można już odmontować nowy obraz i sprawdzić, czy tak naprawiony Splashtop działa np. w maszynie wirtualnej QEmu. Metoda ta zadziała tak długo, jak kolejne wersje ExpressGate będą korzystały z tej samej wersji jądra (2.6.20), a producent będzie jedynie wyposażał je w nowe moduły. Z wersją 1.3.3.1 powyższy trik działa bez problemów.
|
Funkcja Express Gate, jaką oferują niektóre droższe płyty Asusa, to nic innego jak uruchamianie komputera do systemu Splashtop, specjalnej wersji Linuksa. Startuje ona średnio w dziesięć sekund i oferuje dostęp do przeglądarki WWW, Skype’a oraz komunikatora internetowego. Ale nawet te aplikacje są odchudzone, nie wspominając już o tym, że modyfikowanie systemu nie jest możliwe. Tak samo jak uruchomienie Splashtop na komputerze z płytą główną inną niż te, które oficjalnie wspierają ExpressGate.
O czym warto wiedzieć?
Rozpracowaniem systemu zajęło się kilka osób, czego efektem było sukcesywne publikowanie późnym latem 2008 r., przez opiekuna dystrybucji Kanotix, sposobu na jego odblokowanie. Przypomnijmy, Splashtop oferowany jest w dwóch wersjach: SSD, do droższych płyt, z wlutowaną kością pamięci, oraz HDD (tzw. ExpressGate Lite), instalowaną na dysku twardym w pecetach z płytami bez modułu SSD. Okazuje się, że pierwszą wersję da się umieścić np. na pendrivie, by uruchomić ją także na innych komputerach, w tym wirtualnych.
Crackowanie Splashtopa nie należy do czynności prostych – producent nałożył masę zabezpieczeń, z których część wpływa negatywnie na szybkość pracy systemu. System plików jest podzielony na skompresowane pakiety, które za każdym startem systemu są rozpakowywane i łączone w jedną całość.
Przygotowanie systemu
Operowanie na komponentach Splashtopa wymaga standardowych narzędzi linuksowych, po części tych, o których piszemy w poprzednim artykule, ale nie tylko. Potrzebna będzie zatem dowolna, najlepiej 32-bitowa dystrybucja Linuksa. Może to być np. Ubuntu uruchomione z płyty CD (z myślą o tym systemie piszemy dalsze wskazówki).
W systemie należy zainstalować cztery pakiety: mbr, syslinux, squashfs-tools oraz qemu, najprościej wydając komendę:
sudo apt-get install mbr syslinux squashfs-tools qemu
Warto też przygotować sobie katalog roboczy, do którego trafiać będą pliki i skrypty pomocnicze – na użytek tej porady załóżmy, że jest nim ~/splashtop. Partycja, na której ulokowany będzie ten folder, musi mieć przynajmniej 1 GB, a najlepiej 2 GB wolnego miejsca.
Na naszym DVD zamieściliśmy wersję 1.2.40 systemu Splashtop przeznaczoną dla dysków SSD. Należy otworzyć archiwum instalacyjne (plik zip) i wypakować z niego do folderu roboczego archiwum z rozszerzeniem DFI (jest tylko jedno takie w pliku zip). Przy okazji dobrze jest zmienić mu nazwę na prostszą – splashtop.img.gz.
Do tego samego katalogu trzeba przekopiować z DVD skrypty pomocnicze do właściwej wersji używanego Linuksa. Zamieszczone są one w pliku skrypty.zip (znajduje się on w folderze Skrypty do Splashtopa), który zawiera dwa katalogi: i386 ze skryptami dla 32-bitowej oraz x64 dla 64-bitowej wersji systemu. Przekopiować należy zawartość tylko jednego z nich. Pozostaje jeszcze nadać im prawa wykonania poleceniem:
chmod a+x ~/splashtop/*.sh
Jak ugryźć ExpressGate?
Wypakowany plik splashtop.dfi to skompresowany, nieco zmodyfikowany obraz IMG dysku z wgranym systemem operacyjnym (precyzyjnie: jest to dokładny obraz jednego napędu z jedną partycją FAT32). Dlatego też poleciliśmy zmienić mu rozszerzenie na .img.gz. Należy go rozpakować komendą gunzip splashtop.img.gz, by otrzymać nowy plik – splashtop.img.
Ale tego obrazu jeszcze nie można użyć. Został do niego doklejony tzw. header zawierający ciąg kontrolny, bez którego oficjalny instalator Asusa nie zaakceptuje pliku. Trzeba go usunąć z obrazu, ale zachować na przyszły użytek. Zrobią to następujące komendy:
dd if=splashtop.img of=header bs=48 count=1
dd if=splashtop.img of=splashtop.new bs=48 skip=1
W ich wyniku powstaną dwa pliki: 48-bajtowy header i czysty obraz IMG w postaci pliku splashtop.new. Zapamiętaj nazwę tego obrazu – będą o nią pytać skrypty pomocnicze, wykorzystywane w dalszej części artykułu.
Ocena: 



(aby ocenić, musisz się zalogować w serwisie)
Podobne artykuły: