swiftBoot czyli Linux bootujący w sekundę
27 lutego 2010, b.YISK
Firma MPC Data zaprezentowała urządzenie do przechwytywania obrazu, bazujące na systemie operacyjnym Linux, który uruchamia się w czasie krótszym niż jedna sekunda.
Urządzenie zbudowane jest w oparciu o procesor ARM cortex-a8 SoC pracujący z częstotliwością 500MHz, płytkę Texas Instruments 3530 EVM i pamięć flash. Specjalnie zmodyfikowany dla potrzeb tego urządzenia Linux bazuje na Linuksie w wersji 2.6.29.

Praca urządzenia polega na przechwytywaniu obrazu przez zewnętrzną kamerę i wyświetlaniu go na ekranie. Urządzenie pozwala także na zapisywanie obrazów w pamięci, a następnie ich przeglądanie. Na załączonym poniżej filmiku można wyraźnie zauważyć szybki start systemu – zarówno przy resetowaniu urządzenia, jak i podczas odłączania i ponownego przyłączania go do źródła zasilania, którym jest sześć baterii typu AA. Dodatkowo w komplecie występuje także bateria dziewięciowoltowa, służąca do zasilania zewnętrznej kamery.
Więcej informacji na jego temat można znaleźć na stronie internetowej produktu.



Szkoda, że normalne dystrybucje tak szybko się nie uruchamiają – fajnie by było – tak poniżej 10 sekund.
Z drugiej strony, gdyby nie było problemów z suspendem, to nie miałoby to większego znaczenia dla użytkowników. Z uśpieniem Visty nie mam żadnych problemów na laptopie – dlatego nie przeszkadza mi to, że długo się uruchamia. Co innego z Linuksem z którego usypianiem i hibernowaniem są ciągle problemy – co nowa wersja jądra, to nowe problemy…
U mnie działa.
Przychodzi informatyk do lekarza.
- panie doktorze mam problemy z widzeniem
- dziwne, u mnie działa.
Przychodzi użytkownik Windows do lekarza:
- panie doktorze mam problemy z wirusami
Mi na Viście usypianie nie działa, wywala mnie jedynie do ekranu wyboru użytkownika
Hibernacja mi nigdy nie działała, przygotowywanie do niej trwało w nieskończoność. Na U/K/X 9.10 problemów nie było na K 10.04 już są, na U/X 10.04 działa normalnie.
Dziwne, oddaj komputer do reklamacji
@t0m3k
a czy na tym kompie (z niedzialajacym usypianiem visty) zainstalowany jest moze linux (albo generalnie cokolwiek innego niz vista)? bo np w win7 sa podobne objawy gdy namiesza sie nieco z partycjami (aktywna, nieaktywna etc)- i w zaleznosci od tego jak sie w instalatorze linucha poustawia partycje, to pozniej win7 ma badz nie bezproblemowe usypianie.
Mnie najbardziej z suspendem denerwuje to, iż wraz z szyfrowanym swapem nie da się tego używać. Szkoda.
Jak najbardziej się da. Po prostu swap nie może być szyfrowany losowym luczem.
Po co Ci szyfrowany swap?
Przecież Mosad, KGB, CIA i inne instytucje mające Ciebie na celowniku i tak to nie powstrzyma
(Nie wspominając już o Masonach, Iluminatach, Stolicy Apostolskiej i tym podobnych.)
Prawy obywatel nie szyfruje danych bo nie ma nic do ukrycia Towarzyszu!
spy000yps, badzmy powazni. CIA, KGB i Mossad od czasow zimnej wojny zajmuje sie przeprowadzaniem staruszek i segregowaniem odpadow. Powtarzam dla utrwalenia: CIA, KGB i MOssad, a nawet polskie sluzby nie zajmuja sie dzialalnoscia szpiegowska.
W moim odczuciu, to raczej zajmują się szpiegostwem gospodarczym. Szpiegostwo gospodarcze, to, jak najbardziej, szpiegostwo.
@filut: mówisz, że Centralna Agencja Wywiadowcza nie zajmuje się wywiadem?
mw, czyli co, Monika Olejnik jest agentem wywiadu, bo przeprowadza wywiady?
bez szyfrowanego swap’a szyfrowanie dysku jako takiego traci sens…
Da sie. Ja np. mam swap w pliku na szyfrowanej partycji.
Trzeba popatrzec, jaki jest offset, i juz (popatrz, skad pochodzi liczba 1644544):
# filefrag -v /swapfile
Filesystem type is: ef53
File size of /swapfile is 2147483648 (524288 blocks, blocksize 4096)
ext logical physical expected length flags
0 0 1644544 32768
(…)
# cat /proc/cmdline
root=/dev/mapper/sda1_crypt ro resume=/dev/mapper/sda1_crypt resume_offset=1644544 quiet splash
No patrz pan…
Debian od jakiegoś czasu umożliwia postawienie crypt lvm. Na laptopie mam crypt+LVM i na tym jest rootfs + swap. Grub + kernel + initrd leżą na /boot/, initrd pyta o hasło do crypto po czym lapek wstaje z uśpienia.
Z hibernacją visty nie ma problemu?!
To, że system się nie wiesza i wraca interfejs graficzny nie znaczy, że odhibernowanie działa poprawnie. Aplikacje często nie wznawiają się w idealnie takim samym stanie jak przed hibernacją. Do testu wystarczy prosta aplikacja wypisująca stany rejestrów procesora. Po odhibernowaniu możesz sobie zobaczyć radośnie wstawione losowe wartości do niektórych z nich.
Dotyczy to też jądra systemu windows i sterowników systemów plików. Więc radzę ci uważać i robić backupy danych.
Na Linuksie tylko grafika jest problemem, który jednak stwarza producent sterowników. Na otwartych sterownikach hibernacja działa idealnie. O zamknięte trzeba winić producenta.
Choć na nVidii działa dobrze, raz na kilkanaście hibernacji zdarza się, że trzeba przejść na konsolę i z powrotem do X’a żeby obraz się pojawił.
O ATI lepiej nie wspominać. Ii tak maja żałosne sterowniki, więc nie ma co wymagać tak zaawansowanej funkcjonalności jak niewieszanie się przy hibernacji.
@oO
Koleś, nawet nie chce mi się czytać twoich wypocin. Po ch… odpowiadasz więc na moje komentarze?
Lepiej weź linkę i idź znajdź sobie jakieś fajne drzewo i uwolnij świat od swojej osoby. Wszystkim będzie lepiej.
Może troszkę kultury ??
Za ten tekst spy000yps i jego klony powinny dostać wiecznego bana. Amen.
Wolałbym z Oo zgubić niż ze spy000yps znaleźć.
@LM
Tego kolesia się nie da zbanować, bo spy000yps==michuk.
Rozumiem, że Windows z nieznanych mi przyczyn, wymaga sterowników do procesora(pewnie aktualizacja mikrokodu). Jednak wszystkie procesory posiadają instrukcję do odłożenia wszystkich rejestrów dla programisty na stos. Zostają tylko rejestry testowe i wskaźnik instrukcji, który możemy zapisać też w jakiś sposób.
Zresztą, to skoro jądro systemu jest w stanie przełączać zadania, zapisując i przywracając stany rejestrów procesora, to jest to w stanie również zrobić w kwestii hibernacji. Chyba, że piszemy o zupełnie innych rejestrach. Gdyby jądro wstawiało losowe wartości do rejestrów, to programy by się losowo wykrzaczały pod odhibernowaniu. Możemy jednak założyć, że Microsoft gdzieś udokumentował, które rejestry nie są zachowywane(w Windows 95 programista nie mógł korzystać z niektórych rejestrów procesora, bo nawet Bill nie wiedział, jakie wartości mogą się tam nagle pojawić).
Chodzi o to, że jak wywołyjesz funkcję systemową to ona zapisuje zawartość wszystkich rejestrów na stosie po to, żeby je odtworzyc w momencie powrotu. Problem pojawia się wtedy kiedy procedura zwraca wartość przez rejestr EAX, tzn. zawartość EAX zostanie nadpisana i dupla blada. Morał z tego taki żeby przed wywołaniem funkcji samodzielnie zachować EAX’a na stosie, albo nie trzymać w ni ciekawych rzeczy.
I w Windows i w Linuksie jest tak samo.
Bajkami o Bilu co nie wiedział co mu w rejestach piszczy możesz straszyć swoje dzieci, microfobów i innej maści linuxboyów, którym OO padło na dekiel
Poczytaj o programowaniu w assemblerze pod Windows 95. Nie miałem na myśli rejestru EAX, lecz rejestry segmentowe, które były modyfikowane m.in przez wywołania systemowe, lecz nie przywracane. (Po co w trybie chronionym, programowi pracującemu w modelu płaskim rejestry segmentowe).
@Sławek – nie chce mi się wierzyć, byś pisząc pod win95 aplikacje, korzystał z rejestrów segmentowych – bo i po co, skoro miałeś model flat ?
Jednak pod Linuksem, jak i Windows XP jest możliwe korzystanie z rejestrów segmentowych. W trybie chronionym rejestry segmentowe po prostu stają się normalnymi rejestrami.
@Sławek
na windows nie stają się zwykłymi rejestrami – co prawda możesz sobie odczytanie z nich wartości, ale nic do nich nie zapiszesz – winda rzuci wyjątkiem.
Właśnie, że chyba nie piszemy o Windows XP
.
@Sławek: Windows “sterownikow do procesora” wymaga po to, zeby uaktualniac mikrokod. W Linuksie (FreeBSD, Solarisie i czym tam jeszcze) masz to samo.
Przecież napisałem, że tego się mogę domyśleć.
Kolego jeżeli w rejestrach jest coś nie tak to idzie sie walić adresacja, a w raz z nią cała apliacja co w tym przypadku -odtwarzanie systemu z hiberacji – ozacza zwis całego systemu.
Od pewnego czasu, pałeczkę w konkurencji na niespodziewany zwis, przejął desktopowy linux.
Wersje serverowe trzymają sie dzielnie i oby tak dalej.
U mnie w Win7 nie ma problemu z hibernacją. Za to linuksie nie udało mi się odpalić w żadnej konfiguracji:
system: debian/kubuntu
karty: wbudowany intel/gefroce
stery: nvidia/otwarte
tak, próbowałem wszystkich kombinacji. dodatkowo geforce+zamkniete stery to jedyna konfiguracja, w której działa compositing plasmy. więc wybacz, ale mówienie że to wina zamkniętych sterów to ściema.
@oO: Wszystkie te brednie wymyslasz sam, czy ktos ci pomaga? Bo to, co napisales powyzej (i czego – warto zauwazyc – nie potrafisz w zaden sposob uargumentowac ani udowodnic) jest niezle nawet jak na ciebie.
@oO – nie mam karty ATI ale mam w planach ją kupić. Mówisz że sterowniki ATI źle działają w odniesieniu do hibernacji. Czy mówisz o własnościowych sterach, czy też o tych OpenSource? Teraz mam kartę nVidii m. in. ze względu na ich dobre sterowniki pod Linuksa 32 i 64 bit…
U mnie Gentoo na SSD do ekranu logowania potrzebuje 10 sekund
Wyjaśnijcie mi proszę jaki ma sens hibernowanie (albo usypianie komputera) bo dla mnie użyteczność tego rozwiązania wydaje się znikoma (nie używam go).
Kiedyś spotkałem się z takim opisem, że jeśli ktoś coś robi na komputerze i chce przerwać pracę np. na pięć godzin to przełącza go do stanu hibernacji. Po wybudzeniu system znajduje się w takim stanie (i z takimi ustawieniami) w jakim był przed wprowadzeniem w hibernację. Zgoda. Ale czy nie jest wygodniej przy tak długiej przerwie w użytkowaniu zapisać to co się robiło na dysk, wyłączyć komputer, a następnie kiedy trzeba załączyć go ponownie?
slyszales kiedys o laptopach?takich na baterie?Chociazby po to.
Hibernowanie ma taki sens, że wyłączasz kompa w dowolnej chwili i za kilka godzin albo na drugi dzień, odpalasz i masz przywrócone i otwarte wszystko co miałeś przed hibernacją. Przydatne np w pracy jak pracujesz na kilku aplikacjach, nie musisz odpalać ich codziennie od nowa. Po to samo pewnie używasz kart w przeglądarce.
A czy dawno dawno temu nie służyło temu zapisywanie sesji?
Oczywiście w linuxach:)
Pzdr.
Jeśli używasz tylko jednej aplikacji na raz – może nie widzisz w tym sensu. Dla mnie uruchamianie ponownie kilkunastu aplikacji i ładowanie do nich dokumentów nie jest wygodne. Ot, taki Firefox zawsze ma jakieś karty zostawione na później, czasem mam ich uruchomionych kilkadziesiąt. Wyobrażasz sobie ile czasu zajmowałoby odtworzenie tego?
Ale nie, z hibernacji czy też usypiania nie korzystam – po prostu rzadko wyłączam komputer.
Nie korzystasz z hibernacji czy usypiania, bo pingwiny sa leniwe z natury i po drzemce niechętnie wstają do pracy
.
Hibernacja przydaje się też w sytuacji, gdy się pracuje na laptopie bez zewn. zasilania – nie trzeba pilnować stanu baterii; przy niskim poziomie baterii komputer po prostu się zahibernuje, dzięki czemu nie utraci się tego, nad czym się pracowało. No i oszczędza się sprzęt, bo żadnemu komputerowi nie służy nagłe odłączenie od zasilania, jak to dzieje się bez hibernacji.
Dwu i pół minutowy filmik pokazujący start w sekundę – bezcenne
£4950 to nie cena urządzenia, tylko usługi consultingowej przyspieszania startu innych urządzeń.
“pamięć flash z bramką logiczną typu NAND”
Coś dzwoni, ale nie w tym kościele. Zamiast pisać bzdury trzeba się było trzymać oryginału i napisać NAND Flash.
eee czepiasz się, przecież mogli do obsługi tych NAND flasch-y użyć bramek NOR a że jeden NAND się przyplątał no to co
Jak inaczej byś to zapisał?
Za co mnie minusujecie? Najnormalniej w świecie spytałem się jak Bastek by to zapisał, bo jedyne co zrobił to nazwał moją wypowiedź bzdurą, a nazwanie pamięci NAND Flash to pójście na łatwiznę.
Np. “pamięć flash oparta na bramkach typu NAND” (pamięć oparta na pojedynczej bramce nie byłaby zbyt pojemna
).
“Pamięć NAND Flash” jest odpowiednim określeniem. Nie ma co rozwijać tego o szczegóły.
Nic specjalnego ta 1 sekunda. Nie wiem czym się chwalą. W firmie uzywamy linuxa na procesory ap7000 i prędkość uruchamiania jest poniżej 2 sekund wraz z aplikacją graficzną używając framebuffera. Pierwszą podstawową rzeczą jest wkompilowanie wszystkich potrzebnych sterowników w jądro i wywalenie standardowych skryptów uruchamiających system. Do tego wywaliliśmy prawie wszystko związane z siecią bo nie było to potrzebne. Zauważcie, że samo jądro startuje w linuxie bardzo szybko ale potem następuje uruchamiane sekwencyjne skryptów. Ze względów historycznych dystrybucje wszystko mają oskryptowane i skrypty nie uruchamiają się równolegle ale sekwencyjnie. Przecież można najpierw uruchomić środowisko graficzne a potem uruchamiać usługi szczególnie te sieciowe.
Nie do końca tak jest z tym brakiem równoległości. W Gentoo na przykład przy standardowym inicie wystarczy zmienić wartość jednej zmiennej środowiskowej, aby demony zaczęły startować równolegle. Co prawda i tak się częściowo kolejkują przez zależności między demonami – ale daje to wyraźnie odczywalne przyspieszenie startu. Na starym zwykłym inicie. Aczkolwiek – da się to oczywiście zrobić lepiej
.
co to za zmienna?
rc_parallel w /etc/rc.conf
@Równoleglenie:

No i mamy tak jak w windows. Ekran logowania się pojawia, wpisujemy login i hasełko i czekamy, czekamy, czekamy – bo wszystko nie wstało
Dziękuję za takie przyśpieszenie, dla mnie to robienie użytkowników w konia
Dla mnie bardzie inżynierskim podejściem jest wywalenie duplikowania się zadań BIOSu z systemem, wymiania HAL na DevKita (podobno pomaga), dedykowanie kernele do sprzętu itp.
Równoległe uruchamianie ma sens, ale nie na siłę.
Pzdr.
Jacek
No dokładnie! Raz na tydzień włączam Windowsa (backup danych z telefonu :/ ) i przyzwyczajony, że gdy pojawia się pulpit mogę już pracować zawsze się denerwuję, bo dysk mieli jeszcze dłuższą chwilę…
Zgadzam się, ale równoległe wykonywanie zadań może mocno przyspieszyć start np. w czasie gdy DHCP czeka na odpowiedź serwera to w tym czasie mogą startować inne usługi np. tryb graficzny. Sprawdza podobna jak z poleceniem make. Na jednoprocesorowej maszynie szybciej działa kompilacja make -j2 niż make -j1 chociaż teoretycznie powinno w tym samym czasie kompilować.
@M
Zgadzam się dhcp może uruchamiać się równolegle. Ale mi pod windą działa to koszmarnie. System startuje, loguję się odpalam przeglądarkę i nie ma sieci !!! Dopiero po 1-2min pojawia się
Po prostu opóźnienie jest zbyt duże.
To nie jest problem serwera dhcp, bo pod linuksem (nie równolegle) działa szybko (kilka sek.).
Mam zamiar odpalić równolegle sieć pod linuksem, ciekawe, czy będzie podobnie?
Pzdr.
Niech autor się przyłoży następnym razem ok?
Nie “procesor ARM cortex-a8 SoC” tylko “procesor (system-on-chip) OMAP3530 firmy Texas Instruments oparty o rdzeń Cortex-a8″.
Nie “płytkę Texas Instruments 3530 EVM” bo ta “płytka” kosztuje 1500USD (tak: półtora tysiąca dolców) tylko raczej “developer board” (to można przetłumaczyć jakoś zapewne) “Texas Instruments EVM 3530″.
O pamięci już pisałem w innym komentarzu.