შემქმნელი: cakehonolulu პორტირებული Linux Atari Jaguar სათამაშო კონსოლზე 1993. კონსოლმა ბირთვის ჩატვირთვა მოახერხა. Linux 7.2.0-rc1+ და BusyBox-ზე დაფუძნებული მინიმალური მომხმარებლის გარემო, და ჩვენ ვსაუბრობთ არა მხოლოდ ემულატორზე, არამედ მის რეალურ აპარატურაზე კარტრიჯის საშუალებით გაშვებაზეც.
დავალება Jaguar-ის არქიტექტურის გამო საკმაოდ რთული იყო. კონსოლს მხოლოდ 2 მბ ოპერატიული მეხსიერება აქვს, კარტრიჯზე კი 6 მბ-მდე ROM და Motorola 68000 მთავარი პროცესორი MMU-ს გარეშე. ასეთი აპარატურისთვის ჩატვირთვის თანმიმდევრობა ტიპიურია. Linux არ ჯდება, ამიტომ დეველოპერმა გამოიყენა NOMMU რეჟიმი m68k/uClinux-ისა და ბრტყელი მეხსიერების მოდელისთვის.
კონსოლის შეზღუდვებში ბირთვის მოსათავსებლად, ის გაიყო მეხსიერებასა და კარტრიჯს შორის: უცვლელი სექციები, როგორიცაა .text და .rodata, სრულდება პირდაპირ ROM-დან XIP სქემის გამოყენებით, ხოლო ცვალებადი სექციები, როგორიცაა .data და .bss, ინახება ოპერატიულ მეხსიერებაში. ადრეული შეტყობინებების გამოტანა მიიღწეოდა Jerry DSP ჩიპის გამოყენებით, რომელსაც ჰქონდა სერიული TXD/RXD ხაზები და ტაიმერები. მოგვიანებით, დეველოპერმა დაამატა მარტივი კონსოლის დრაივერი Tom ჩიპისთვის, რათა უზრუნველყოფილიყო, რომ გამომავალი ასევე იმუშავებდა რეალურ კონსოლზე. ეს დეტალები აღწერილია განყოფილებაში რა არის საჭირო Linux Jaguar-ზე ჩამოსატვირთად.
მომხმარებლის გარემო მაქსიმალურად უნდა გამარტივებულიყო. MMU-ს არარსებობის გამო, ELF ფაილების ნაცვლად გამოიყენება FLAT ბინარული ფაილები; BusyBox პირდაპირ მუშაობს როგორც shell, აპლეტების ბმულების სტანდარტული ინსტალაციის გარეშე, რადგან ეს მეხსიერების ამოწურვას გამოიწვევდა. ასევე აუცილებელი იყო uClibc-ის კონფიგურაცია Buildroot-ის საშუალებით, მათ შორის უფრო მარტივი malloc-simple მეხსიერების განაწილების სტრატეგია; ეს უფრო დეტალურად არის განხილული განყოფილებაში მომხმარებლის სივრცე.
ასეთ პორტს პრაქტიკულად არანაირი გამოყენება არ აქვს: Atari Jaguar მოსახერხებელ პორტად არ იქცევა. Linux-კომპიუტერი. თუმცა, ექსპერიმენტი ნათლად აჩვენებს, თუ რამდენად შორს შეიძლება გაფართოვდეს ძველი აპარატურის მხარდაჭერა Linux და რამდენად მდგრადია m68k არქიტექტურა? მოდიფიცირებული ბირთვის საწყისი კოდი გამოქვეყნებულია საცავში. კეიქჰონოლულუ/linux_jag.
წყარო: linux.org.ru
