Prieš rašydamas ( o tiksliau taisydamas ) esamą knygos variantą, noriu papublikuoti savo pirmą atvirai rašytą knygą. Išeities kodas visuomet buvo pasiekiamas Arch Linux Lietuva GitHub saugykloje. Realiai, knyga yra lietuviškas Beginners’ Guide variantas su keliais pridėjimais ( tiesa, šiuo metu perrašau esamą lietuvišką variantą wiki puslapyje į naujesnį ). Ateityje, kai turėsiu daugiau laiko, planuoju ją praplėsti ir pateikti ne vien tik vieno wiki puslapio lietuvišką variantą, o surinkti kiek galima daugiau informacijos apie Arch Linux naudojimą ir administravimą.
Kadangi tokios knygos neturi apčiuopiamos publikos, kuri galėtų ją pirkti, tai ją atiduodu nemokamai. Juk knygos atlieka informacijos saugojimo funkcija, o pinigai jau yra antraeilis dalykas. Be to, knyga yra parašta gan blogai, grubiai. Tai tik pirmas mano darbas, todėl noriu atsiprašyti tų, kurie tikisi rasti labai kokybiškai atliktą darbą.
Šiandien radau gan neblogą idėją kaip galima paspartinti sistemą ir kartu sutaupyti energijos ( paradoksalu, bet tiesa ).
Linux sistemoje vyksta intensyvus log failų rašymas. Kaskart, kai koks nors įrenginys yra pajungiamas prie kompiuterio, arba kažkas kreipiasi į apache arba tiesiog jūs žiūrite flash video – rašomas log’as.
Sistemos paspartinimo idėja labai paprasta – perkelti logų rašymą iš kietojo diską į daug spartesnę atmintį – RAM’us. Ir linux sistemoje tai padaryti labai paprasta. Pirmiausiai, reikia pakeisti FSTAB failą.
Taip mes peradresuojame visus laikinus failus ( tame tarpe ir logus ) į RAM atmintį. Toliau, reikia sustabdyti syslogerį. Priklausomai nuo distribucijos jis gali skirtis. Kadangi dirbu su Archlinux, tai jo syslogeris yra syslog-ng.
/etc/rc.d/syslog-ng stop
rm -rf tmp/*
rm -rf /var/log/*
rm -rf /var/tmp/*
mount -a
/etc/rc.d/syslog-ng start
Ir su paskutinia komanda, mūsų logai yra rašomi jau į ram atmintį. Teliaka paskutinis žingsnis, norint paspartinti firefox darbą linux aplinkoje. Atsidarom firefox, įvedam:
about:config
Bet kurioje puslapio vietoje dešiniu pelės mygtuku pasirenkam New->String, vardo srityje įrašome browser.cache.disk.parent_directory, kas nurodo kur firefox turi saugoti laikinus failus ir value langelyje įrašome /tmp.
Ir štai, dabar Jūsų sistema veiks sparčiau. Kiek man teko asmeniškai pastebėti, tai dabar tiek youtube, tiek wordpress veikia žymiai sparčiau ir greičiau. Vienintelis šio būdo minusas yra tas, kad po sistemos perkrovimo visi logai dingsta, todėl, jeigu Jums aktualu kaupti log failus, shutdown skripte rekomenduojama papildyti eilutė, kuri saugos Jūsų log failus kokioje nors direktorijoje. Sekmės. :)
Dirbant su embedded sistemomis, tenka kompiliuoti programas atitinkamoms architektūroms. Net tiesiog norint pabandyti pažaisti su plokštę qemu aplinkoje, tenka kompiliuoti programas. Norint tai daryti, reikia pas save pasistatyti cross compilerį, arba toolchan’ą. Panagrinėkim kaip tai viskas atrodo ARM tipo sistemoms.
Rankinis kompiliavimas
Visą tą džiaugsmą galima pasigaminti namų sąlygomis. Kadangi sistema nėra standartinė, o bildinama iš standartinių source’ų, ją reikia truputi palopyti. Kodėl pavadinau rankinis? Nes visus source’us reikia parsisiųsti, sukonfigūruoti ir tik tada sukompilinti. Realiai visą tą reikalą atlieka vienas skriptas. Kadangi lopymai padaryti būtent tokios versijos programiniai įrangai ( o kitų neradau ), tai kompiliavimo eigoje turėtų išmesti tam tikras klaidas, kurias galima lengvai ištaisyti, kaip ld ir as versijų tikrinimo.
Su buildroot yra truputi kitaip. Buildroot iš esmės yra make failų rinkinys. Ir jis savyje turi visus reikiamus lopus. Ką tereikia padaryti, tai jį atsisiųsti, išarchyvuoti, sukonfigūruoti ir paleisti:
O visa kita jau fantazijos ir eksperimentų šaltinis. Aš asmeniškai dar iš filesystem options pasirinkau cpio rootfs formatą, romfs outputą, kad man iškart sugeneruotų tvarkingą arm-linux’ą. Bet čia jau ne į tą pusę.
Telieka tik sukompiliuoti
make source && make
Toliau viską darys make failai. Bet kai kada ir jie nežinos ką daryti, tai stebėkit procesą. :) Toliau reiks pasileisti sistemą kokiam nors emuliatoriuje ( qemu ) ir turim normalų gcc savo stichijoje. Apie qemu + arm linux kernel papasakosiu kitam savo įraše. Dabar galiu pateikti tik boot’o video:
Turbūt pats lengviausias ir jokio konfigūravimo nereikalaujantis sprendimas. Rekomenduoju visiems pradedantiesiems. Tereikia tik nueiti į Sourcery G++ Lite parsiuntimo puslapį, jį atsisiųsti, suteikti +x teises, paleisti ir “Next, next” stiliumi viską įdiegti.
Yra ir daugiau būdu susikurti sau cross compilerį, bet turbūt kiekvienam tai savas patogumo pasirinkimas. Aš asmeniškai naudoju visus tris, kaip ir nebūtų keista. Sourcery G++ pliusas tame, kad jis turi EABI support’ą, tai mes galim linux branduolį sukompilinti su EABI supportu. Rankinių būtų sukompilintas cross compileris to negali, nes linux kernelis tiesiog per senas.
Sakyčiau, ubuntu lietuviška benduomenė turi tikrai gerą organizacinę struktūrą ir užduotis. Tai verčia truputi pavydėti ir kibti kitoms bendruomenėms į darbus.
Daug kas pasakytų – kam to reikia, juk angliškas variantas visuomet bus dogma ir lietuvišku variantu vargiai ar kas naudosis. Bet tai prestižas ir rodiklis, kad bendruomenė toje šalyje veikia.