Czasami nachodzą mnie różne pomysły, jednym z nich jest przerobienie swojego obszczymurka tak, by zamiast dysku, miał CompactFlash. Chyba jeszcze przez pewien czas to zostanie w sferze pomysłów, no chyba, że jesień (a jest do niej trochę czasu) będzie wyjątkowo brzydka...
Puffy w akwarium, czyli embedded OpenBSD
Opłaca się stworzyć własny release OpenBSD. Nawet nie dlatego, by jakoś specjalnie modyfikować jego domyślne ustawienia, ale po to, by na kartę osadzić aktualną wersję systemu, bez błędów, które opisane są w erracie. Zwłaszcza, jeśli wersja "bazowa" zawiera błędy bezpieczeństwa.
Być może opłaca się skompilować własne jądro, choć tu mam uczucia mieszane. Gdy używałem Gentoo, to oczywiście jądro kroiłem pod siebie, tu po prostu działa i zrobiłem się leniwy. Bardzo :) Uzasadnieniem kompilacji własnego jądra może być tutaj jednak chęć lepszego jego dostosowania do środowiska embedded.
Czego nie opłaca się robić...Kiedyś osadzenie systemu na CF było walką o każdy fragment miejsca na karcie. Teraz, gdy cena karty 512MiB to około 50PLN, nie widzę potrzeby, by spędzać długie, bezsenne noce na tego typu działaniach. Może, gdyby celem było zrobienie jakiegoś urządzenia na sprzedaż, ale do własnych celów... mam głupie pomysły, ale nie aż tak :)
Jednym z podejść osadzania systemu na kartę było stworzenie czegoś takiego:
- Uruchomienie minimalistycznego systemu,
- Stworzenie dysków w RAM,
- Rozpakowanie "treści" na te dyski,
- Pełne uruchomienie systemu,
Zastanawiam się, czy jest sens się w to bawić i znów - dochodzę do wniosku, że nie. System / oczywiście będzie zamontowany jako RO, bo wciąż słabą stroną CF jest ograniczona ilość cykli zapisu. Inną słabą stroną jest wydajność, ale czy dla uruchomienia dosłownie kilku procesów (po starcie systemu) opłaca się wszystko ładować do pamięci? Mam niejasne wrażenie, że nie... Zwłaszcza, że nie zamierzam oszczędzać miejsca, a pamięci aż tak dużej jak kartę CF mieć nie będę i wolę je przeznaczyć na coś bardziej sensownego (czyli na przykład na cache dla proxy czy dns). Oczywiście, tam gdzie musi być system plików rw (upraszczając: /tmp, /var, część /dev) bez mfs się nie obejdzie, ale dzięki opcji -P też nie trzeba się bardzo męczyć. "Zrobienie" /var wraz z zawartością jest trywialne, /tmp i tak jest na początku puste, nieco większy problem jest z /dev. Tutaj najłatwiej jest po prostu stworzyć kilka urządzeń (tych, które muszą być na rw) na przykład w /var/run/dev i w /dev zrobić do nich linki symboliczne.
W taki sposób mam wykonanych kilka "prototypów" w VirtualPC. Działają :)
Dlaczego nie opłaca mi się tego robić...Jeśli postawię coś takiego, to chciałbym postawić to "na pudełku", czyli odpowiedniej platformie dla systemów embedded, na przykład na WRAP. I tu zaczyna się problem. Cena mi nie odpowiada. Odpowiednia platforma to wydatek od 500 PLN. Powtarzam - od. Przymierzałem się do poskładania pudełka i jeśli dodać do tego wymagania "w miarę wydajnego procesora", najlepiej z koprocesorem kryptograficznym, to cena jest wystarczająca, by wybić mi ten pomysł z głowy (no chyba, że wpadnę na pomysł, by potraktować to jako "projekt badawczy" swojej firmy). Jeśli nie mam "pudełka", to muszę nabyć przejściówkę CF/IDE, która kosztuje około 20 PLN. Trochę mi się nie podoba stosunek ceny tej przejściówki do ceny karty CF (chyba mieszkając przez te 9 już chyba lat w Krakowie nabyłem centusiowatych zwyczajów). Ale mniejsza o cenę - dlaczego mam zmienić dysk (który działa), na kartę CF? Jaką mam tutaj "wartość dodaną" (to z kolei po pracy w "korporacji" mi zostało, jak coś nie ma wartości dodanej, to po co to robić)? Usiłowałem sam siebie przekonać, że będę płacił mniejsze rachunki za prąd. Po długich rozważaniach i obliczeniach nie udało mi się określić chwili (w przewidywalnej przyszłości, w szczególności w przewidywalnym czasie życia tego rozwiązania), kiedy nakłady poniesione na te zmiany, zwrócą mi się...
Ale jeśli kogoś to interesuje...To mogę polecić strony: