eXec.plMAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA
MAGAZYN UŻYTKOWNIKÓW KOMPUTERÓW AMIGA

sobota, 31. lipca, 2021, 09:04

Dodano: 2021-03-19, Autor: Szymon Żyła, Kategoria: AmigaOS, Liczba wyświetleń: 1269

A A A

Moje boje z AmigaOS 4.1 FE update2

1. Przygotowania
2. Instalacja
3. Uruchomienie
4. Nowe pliki
5. Aktualizacje

1. Przygotowania

Pomimo zaleceń Hyperionu o instalowaniu Update 2 na czystym systemie (tylko AmigaOS 4.1 FE update 1, bez ES i innych zmian np. w bibliotekach) postanowiłem jako użytkownik pakietu Enhancer Software 1.5 najpierw wykonać próbę instalacji na systemie posiadającym dodatek od A-Eon. Najpierw zacząłem więc od zaktualizowania elementów ES do najnowszej wersji przy pomocy Updatera:

Jak widać A-Eon wydał kilka drobnych aktualizacji - m.in. w listopadzie 2020 roku zaktualizowany został program MultiEdit (aby mógł pracować z nową wersją klasy Toolbar Gadget).

Po aktualizacji ES standardowo jak zawsze wykonałem kopię aktualnego systemu - na obrazku poniżej widać, że nazwałem sobie ją "AmigaOS41FE_upd1_ES". Być może w wolnej chwili wypalę ją sobie także na CD lub DVD.

Dzięki tej kopii łatwo będzie mi znaleźć zmiany (korzystając z odpowiednich narzędzi, ale o tym później) jakie dokładnie wprowadza najnowsza aktualizacja AmigaOS 4.1 - bardzo ciekawi mnie np. to ile z plików z pakietu ES zostanie nadpisanych (czyli w programistycznym ujęciu pojawią się nam "konflikty do rozwiązania").

Update 2, jak widać niżej, można zainstalować przy pomocy systemowego narzędzia do aktualizacji, czyli AmiUpdate, ale można też pobrać go bezpośrednio z serwisu firmy Hyperion. Ja wybrałem drugą opcję.

Co ważne - jeśli do tej pory nie instalowaliście jeszcze tej aktualizacji (ukazała się w grudniu 2020 roku) to od dzisiaj pobierzecie ją już z hotfixami i ja taką właśnie wersję rozpakowałem.

Mój "patent" - na mojej mA1 posiadam dwie partycje na system, jedna DH0: (AmigaOS41FE), a druga DH00: (AmigaOS). Obie są bootowalne, ale różnią się tylko priorytetem startu. Tę niewykorzystywaną oczywiście ukrywam sobie w preferencjach Workbencha, aby "nie straszyła" i myliła mnie na blacie.

Tym razem więc zainstalujemy się testowo na "AmigaOS", a w razie kłopotów będzie można szybko uruchomić komputer z obecnej wersji systemu, czyli z DH0:.

Rozpoczynamy więc proces instalacji Update 2 - na starcie przywitał nas komunikat:

2. Instalacja

Po zaktualizowaniu Pythona uruchomił się docelowy skrypt/program instalacyjny znany z poprzednich aktualizacji systemu:

Kopię bezpieczeństwa już wykonaliśmy, o zmianach i nowościach dokładnie napiszemy później, a w kolejnym oknie jesteśmy informowani o tym z jakimi problemami (m.in. przestanie działać program AmiDVD i Partition Wizard, które są częścią Enhancer Software) spotkamy się po zainstalowaniu "update2":

Jest także informacja ważna dla posiadaczy komputerów AmigaOne X1000 i X5000 - jakie linie powinni dopisać do swojej konfiguracji startowej, aby ich Amigi uruchomiły się po aktualizacji:

Teraz nastąpi kopiowanie plików. Tak jak pisałem wyżej - ja aktualizację systemu instaluję zawsze na drugą, zapasową partycję, wybrałem więc "AmigaOS".

Po przegraniu plików instalator chce zrestartować system oraz zaleca późniejsze uruchomienie programu FixFonts - zapewne do systemu zostały dodane (lub zaktualizowane) jakieś czcionki lub zaktualizowano diskfont.library:

Na zakończenie instalacji, na szybko, przy pomocy starego dobrego DOpusa 4, można porównać rozmiary katalogów systemowych - jak widać w AmigaOS (czyli u mnie jest to "update 2") tylko zawartość "Emulation", "Internet" i "MUI" się nie zmieniła:

3. Uruchomienie

Przed restartem systemu warto sprawdzić jeszcze dwa kluczowe dla tego procesu miejsca - czyli plik "S/Startup-Sequence" (gdzie wykonywane są wszystkie komendy konieczne do startu AmigaOS) i plik "Kickstart/Kicklayout", który uruchamiany jest jeszcze wcześniej, bo odpowiada za załadowanie modułów Kickstartu.

Update 2 jak widać niżej wykonuje backup tych dwóch plików - dodając do starych końcówkę "preUpd2".

Przy pomocy systemowego narzędzia "FileCompare" porównałem więc obie sekwencje startowe i zmiany okazały się kosmetyczne, a nowszy plik Startup-Sequence pochodzi z 2017 roku.

Okazało się, że jedyną zmianą jaką sam wprowadziłem do s-s było dodanie do komendy SetPatch opcji "ADDCHIPRAM", która jak czytamy w dokumentacji:

The ADDCHIPRAM option can be used on non-classic machines for
	backwards compatibility to old broken programs which peek system
	structures which were always declared as private, to be used by
	the operating system only. It installs an old-style MemHeader in
	SysBase->MemList. Note: You don't need to activate this
	compatibility hack for programs which simply want to allocate some
	Chip RAM.

- może być użyteczna na nieklasycznych komputerach Amiga dla zapewnienia wstecznej kompatybilność ze starymi źle napisanymi programami, które szukają w systemie "możliwości skorzystania z pamięci Chip RAM".

W moim wypadku drugi plik "Kicklayout" jest dokładnie taki sam jak przed aktualizacją - jednak u użytkowników X1000 i X5000 będzie prawdopodobnie inaczej, o czym pisałem już wyżej.

Ok, czyli wykonujemy kluczową zmianę dla partycji "DH00: - AmigaOS" w MediaToolBox. Ustawiamy jej priorytet startu na 1 (a dla poprzedniej partycji DH0: oczywiście na 0):

Zmiany w MediaToolBox i cały start AmigaOS 4.1FE z ES + update2 możecie obejrzeć na filmie poniżej. Jest to start mojego komputera micro Amiga One po pełnym resecie (tzw. "hard reset").

Przy okazji możecie zobaczyć, że mój komputer posiada UBoota w wersji, która nigdy publicznie się nie ukazała. Tak wyglądałoby pewnie pełne "obrendowanie" amigowymi akcentami startu każdej starej Amigi One, gdyby w odpowiednim momencie ludzie związani z ami-firemkami potrafili się dogadać...

Na końcu filmu widać, że po załadowaniu się systemu z "update2" pojawia się pierwszy konflikt z zainstalowanym u mnie Enhancer Software. Podmieniony został na stary systemowy zegarek, który otworzył się prawie na pełnym blacie Workbencha.

Przed szukaniem nowości i zmian jakie przynosi "update2" zobaczmy jeszcze co pokażą nam w Shellu dwie systemowe komendy - "Version" i "SetPatch". Jak widzimy w tej drugiej swoje prawa mocno zaznaczył Trevor Dickinson i to z datą 2021, czyli pewnie hotfixa dla update2:

4. Nowe pliki

Zanim przystąpiłem do poszukiwania zupełnie nowych plików, jakie wraz z "update2" pojawiły się w systemie, wykonałem jeszcze zalecane uruchomienie FixFonts:

Po zaktualizowaniu "fontów" postanowiłem skorzystać z programu od Cloanto o nazwie DirDiff, który służy do porównywania zawartości dwóch katalogów. Wskazałem więc starą i nową (z "update2") partycję systemową oraz wyłączyłem wszystkie opcje - można znaczyć ew. opcję "Quick":

W logu jak poniżej, który można oczywiście zapisać do pliku tekstowego, otrzymujemy wynik tego porównania. Na tym etapie interesują nas pliki opisane "NO SUCH ITEM":

Po przeanalizowaniu wszystkich zupełnie nowych rzeczy jakie pojawiły się wraz "update2" doszedłem do wniosku, że:

  • pojawiło się sporo (ok. 20 plików typu .doc, .guide i .readme) zaległej dokumentacji (w katalogu "Documentation") do elementów jakie już były obecne w systemie,
  • pojawił się zupełnie nowy element - appdir-handler, który jest uruchamiany jako nowe urządzenie APPDIR w DOSDrivers. Dodatkowo handler ten uruchomiony po restarcie systemu wygenerował wiele nowych plików - zmiennych środowiskowych w ENVARC:Appdir, które zawierają linki do wszystkich wykonywalnych programów na naszym dysku. Appdir-handler uruchamia również proces serwera o niskim priorytecie w celu monitorowania tej "pamięci podręcznej" zgromadzonej w ENVARC:AppDir, oczywiście cel jest prosty - ma to ułatwić dostęp i szybkie uruchomienie całego naszego oprogramowania, czy to z poziomu konsoli, czy też z innych miejsc w AmigaOS.

U każdego może to wyglądać różnie - u mnie start z APPDIR to wzrost z ponad 200 do aż 358 plików w tym "cache":

Ostatnią i najważniejszą częścią, gdzie pojawiły się nowe pliki w systemie jest katalog "C", oto ich lista:

AmigaOS:C/
Append Differences: NO SUCH ITEM
DiskDoctor Differences: NO SUCH ITEM
SATAControl Differences: NO SUCH ITEM
timestat Differences: NO SUCH ITEM
eccclient Differences: NO SUCH ITEM

Z nowej komendy Append możemy skorzystać w wypadku, gdy potrzebujemy dodać coś na końcu (z łamaniem linii lub bez) innego pliku - nie tylko jakiś ciąg znaków, ale może to być także drugi plik, a to co otrzymamy może mieć postać binarną lub ASCII. Komenda może okazać się przydatna przy operacjach na rożnego rodzaju logach. Dodatkowo operacja może być rozszerzona o komendę RUN, która po wykonaniu zapisu nowego pliku uruchomi inny program.

Program DiskDoctor pamiętam jeszcze z czasów AmigaOS w wersji 1.3, którego używałem ostatni raz już prawie 30 lat temu na mojej A500. Tutaj mamy poprawioną wersję - ważne jest to, że program radzi sobie z szukaniem błędów i próbą ich naprawy (ew. skopiowania plików w inne miejsce) na partycjach OFS i FFS, z trybem międzynarodowym, włączonym "dircache", a także wersją FFS z długimi nazwami z 2006 roku. Ja odważyłem się wykonać tylko polecenie sprawdzenia partycji systemowej:

diskdoctor examine dh0: verbose

Efekt był taki:

Komenda SATAControl służy sprawdzania poprawności działania (mamy aż 6 opcji do "debugu") kontrolerów SATA z ostatnich modeli Amigi One pracujących z p50x0sata.device i p1022sata.device. Niestety nie działa z moim kontrolerem SATA na SILu, więc nie mogę Wam pokazać żadnych wyników z jej uruchomienia.

Ostatnie dwie nowe komendy timestat i eccclient mają bezpośredni związek z nowym kernelem ExecSG, który pojawił się w tej aktualizacji. Timestat podobno potrafi wyświetlić informacje o tym jak działa scheduler (jak przydzielany jest czas procesora w ramach przełączania się pomiędzy zadaniami) i jak działają przerwania (wstrzymanie aktualnie wykonywanego programu).

Z kolei eccclient służy do wyświetlenia informacji o tym, które rdzenie posesora pracują, o ich statusie, a także umożliwia uruchomienie demonstracji działania "multicore". Z oczywistych względów (kernel w "update2" ma wyłączoną obsługę wielu rdzeni, dodatkowo moja mA1 ma procesor bez kilku rdzeni) ten program także mi nie zadziałał.

5. Aktualizacje

Na koniec opisałem miejsca, które Update 2 zaktualizował - aby się do nich "dokopać" musiałem dokładnie przeanalizować całą listę zmian w systemie, jaką dostarczył Hyperion. Trzeba przyznać, że zdecydowanie elementy te są jasną stroną tej aktualizacji OS4.1 i szkoda, że nikt tej pracy nie wykonał od razu (tak jak na swojej stronie www robi to np. ekipa od systemu MorphOS). Komunikat prasowy mógłby mieć wtedy lepszy odbiór u użytkowników.

Nowe Amigi One
Update 2 przynosi wsparcie dla Xeny w komputerach AmigaOne X5000 oraz zupełnie nowy moduł Kickstartu pasemi_dma.resource.kmod dla X1000. W wielu miejscach pojawia się także wsparcie dla Tabora (najwięcej w devices, w bibliotece exec dodano dezasembler SPE z nietypowego procesora w tym komputerze) i czasami dla X5000/40 (np. bootsd.resource obsługuje nowy format UBoota w tej maszynie).

Start systemu
IPrefs v53.28 posiada obecnie wsparcie dla wskaźników myszki z pakietu AISS 4.19 (wymaga do tego intuition.library 54.21). Z kolei SetPatch v53.5 ma coś oczekiwanego przez wiele osób - wyświetla komunikat o tym, że trwa walidacja dysku i czeka z tym komunikatem do zakończenia tego procesu. Dwie małe zmiany zaszły także w komendzie smartctl, która służy do odczytywania informacji o stanie naszego dysku twardego - od teraz wykrywa strefę czasową i posiada automatyczną detekcję urządzeń.

Długie nazwy i duże pliki w DOSie
W komendach AmigaDOS (np. CountLines, Rename, czy Search) dodano wsparcie dla długich nazw i dużych plików.

"Dokończona" Petunia
Przy opisie zmian w bibliotece exec.library czytamy o zakończeniu w tej wersji (54.30) integracji z API Petunii (emulatora 68k z JIT).

Czyszczenie pamięci i poprawka dla czcionek
Podczas pracy w trybie kompozycji obrazu ma być od teraz wymuszane czyszczenie pamięci graficznej. W graphics.library poprawiono także 15-letni błąd (w OS3.x działało to poprawnie) związany z obsługą czcionek, który uniemożliwiał otwarcie czcionki o innej proporcji, jeśli ten ten sam font był już otwarty w pamięci.

Pozbywamy się Picasso96 i CyberGraphX
W wielu miejscach (np. w AmiDocku) programiści sprzątają odwołania do funkcji graficznych z systemów Picasso96 i CyberGraphX, zastępując je odpowiednikami z graphics.library.

Workbench i reset
Stary, dobry (?) WB doczekał się w końcu wbudowanej opcji restartowania ("Shutdown...") komputera, z wyborem czy ma to być restart tylko systemu (soft), czy też całej maszyny (hard). Co ważne, przed restartem, wszystkie procesy związane z systemami plików mają być zatrzymywane lub usuwane z systemu.

application.library potrafi "wykrywać" użytkownika
W tej bibliotece, do zarządzania/komunikacji z programami, pojawiło się dużo nowych rzeczy, m.in. wywoływanie dzięków z Arexxa, uwzględnienie overscanu i przewijania ekranu, czy też nowe funkcje wspomagające operacje "bez nadzoru" użytkownika. Od teraz można m.in. wykrywać, czy użytkownik jest obecny przy komputerze (rusza myszką, wprowadza znaki z klawiatury lub inna dane wejściowe) i dopiero wtedy wysyłać mu powiadomienia o działaniu aplikacji lub zakończeniu jakiegoś procesu - np. pobierania plików (po powrocie użytkownika do komputera).

Można już "normalnie" kopiować pod WB
AsyncWB - tutaj także otrzymaliśmy długo oczekiwaną zmianę, chyba od systemu w wersji 3.9. Programik teraz skanuje rekursywnie cały katalog przed rozpoczęciem kopiowania, więc pasek postępu pokazuje teraz cały ten proces.

Narzędzia
Narzędzie Format potrafi się od teraz otworzyć automatycznie na innym ekranie niż WB (ten przestał być ekranem domyślnym). W Mounter mamy możliwość w tooltypach zdefiniować drugie obsługiwane urządzenie (device) i jest dodatkowe menu do przełączania się pomiędzy nimi. Program ShowConfig posiada zaktualizowaną listę sprzętu (numerów ID).

RexxMast PPC
RexxMast w wersji v54.2 został po raz pierwszy dostarczony jako program skompilowany pod PowerPC. Był to chyba ostatni z ważnych elementów AmigaOS, który wciąż pracował pod emulacją 68k.

Dużo zmian w USB
Zdecydowanie najwięcej zmian otrzymały w Update 2 klasy związane z obsługą USB. Niektóre z nich wynikają z konieczności dostosowania stosu do działania na nowych maszynach, m.in. X5000/040, inne ze zgłaszanych przez betatesterów problemów z ich sprzętem (np. z dyskiem Toshiba Canvio Basics USB 3.0). Małą rewolucję przeszedł jednak główny sterownik usbsys.device, gdzie przede wszystkim przepisano/dodano w API aktywną obsługę przekazów izochronicznych, służących do przesyłania danych wymagających zachowania powiązań w czasie (np. cyfrowego przekazu dźwięku).

No i na zakończenie artykułu obrazek przedstawiający prosty sposób na to, jak jeszcze raz sprawdzić, które elementy z Enhancer Software zostały przez Update 2 nadpisane:

Czy ponownie usuniecie te "hyperionowe"? Pozostawiam to już do Waszej decyzji.

Szymon Żyła
zobacz inne nasze artykuły » komentarzy: 0
AmigaOS.pl
Polecamy
Najpopularniejsze
eXec blog

Świat poza Amigą: