Linux

Napredniji Tips & Tricks

4ndY pon 28.4.2008 10:19

1. NTP - sinkronizacija satova putem Interneta

Najpoznatiji (gotovo jedini?) protokol za sinkronizaciju vremena zove se NTP (jako zagonetna kratica: Network Time Protocol) i omogućuje sinkronizaciju sata računala klijenta i računala servera (serveri se sinkroniziraju i međusobno, a glavnu "riječ" vode dakako atomski satovi, GPS sateltiti i slični). Bitno je da je svako računalo spojeno na više izvora (servera), da bi se uklonile moguće greške prilikom latencije uzrokovane gužvom na mreži, itd. (iako većinu toga sam NTP protokol ispravlja usporedbom različitih izvora). Osim toga, bitno je (barem za one kojima je važna točnost njihovog sata) da NTP serveri budu što je moguće geografski bliže (dolazit će do manje pogreške).

 

Naš CARNet nudi NTP servere za akademsku zajednicu i pučanstvno (i ostale, jer nije potreban nikakav ključ prilikom sinkronizacije):

os.ntp.carnet.hr Osijek
ri.ntp.carnet.hr Rijeka
st.ntp.carnet.hr Split
zg1.ntp.carnet.hr Zagreb
zg2.ntp.carnet.hr Zagreb

  Gdje staviti i uključiti te servere na Linuxu?

 

Fedora i RedHat:

U glavnom meniju pod Administration > Time & Date > Network Time Protocol tab > enable, izbrišemo pretpostavljene fedorine/rh servere i stavimo ove CARNetove. I Ok.

 

Za ostale ne znam iz prve ruke, ali je u svima identično direktno preko config datoteke:

Editirajte (sa sudo, odnosno root ovlastima) /etc/ntp.conf, npr.

sudo gedit `locate -r ntp.conf$`

Nađite linije gdje piše server i umjesto postojećih dodajte CARNetove.

 

Čemu sve to? Digitalni satovi i nisu baš tako točni jer ovise o razno-raznim električnim fluktuacijama i temperaturi (jedan ekstrem: sat na mojoj mikrovalki ode i do 10min unaprijed u mjesec dana - WTF?! A mikrovalka nema NTP - damn!), na starijim se računalima često i baterija na matičnoj potroši, ali na svakodnevnim računalima imamo odstupanje od samo nekoliko sekundi, pa do nekoliko minuta - ništa strašno mislite? Međutim, postoji dosta stvari što ovisi o točnom satu na računalu i kod krajnjeg korisnika - npr. lokalni mail klijenti (mail ne dođe kad treba zbog razičitih vremena na mail serveru i klijentu).

 

 

Čak i ako nemate stalnu vezu na Internet, NTP protokol je dovoljno pametan da sa sam korigira sat (nauči kolko vaš sat brza, odnosno kasni!) - stvar se zove driftfile.

 

Više informacija (i reference):

* http://www.ntp.org/ntpfaq/NTP-a-faq.htm

* http://ntp.carnet.hr/index.php

* https://help.ubuntu.com/7.10/server/C/NTP.html


A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'

Two atoms bump into each other. One says 'I think I lost an electron!' The other asks, 'Are you sure?', to which the first replies, 'I'm positive.'
4ndY pon 28.4.2008 12:43

Goran Racic kaže...
U ovom threadu ce se pisati o ovakvim slicnim trikovima ili je to, to? Jer ako je, da promijenim naslov kako bismo svi odmah znali o cemu se radi.
  Pa mislio sam o takvim i sličnim trikovima... Da ne bude 100 tema otvoreno za ovakve jednokratne i male teme?

A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'

Two atoms bump into each other. One says 'I think I lost an electron!' The other asks, 'Are you sure?', to which the first replies, 'I'm positive.'

Horagio pon 28.4.2008 12:44

Goran Racic kaže...
U ovom threadu ce se pisati o ovakvim slicnim trikovima ili je to, to? Jer ako je, da promijenim naslov kako bismo svi odmah znali o cemu se radi.
 ma  , ostavi takav naslov da se ne bi nepotrebno otvarale nove teme okolo, pa ako netko zna koji napredniji tip & trick neka ga ovdje napiše

http://www.freewebs.com/horagio/

4ndY pon 28.4.2008 21:58

Evo i drugog tutoriala, da ova tema ne zbunjuje moderatore  Cool

 

2. Multimedijalne i ostale specifične tipke na Linuxu

Danas, čak i ona tipkovnica za 40-ak kuna ima barem jednu multimedijalnu tipku, a da ne pričamo o tipkovnicama latopa i o skupljim stolnim tipkovnicama koje
imaju minimalno skup tipaka za upravljanje glazbenim playerom i surfanje Internetom. Kako je Linux izuzetno popularan, svaki proizvođač takve opreme
obavezno stavi i upravljače programe za Linux (i to minimalno 10 različitih pakiranja za 10 različitih distribucija) - yeah right! Međutim, nije sve izgubljeno, dapače - multimedijalne tipke se lako stave u funkciju s Linuxom i to na načim na koji god želimo (npr. neka hrani ribice u akvariju i povlači vodu u WC-u... Belji se).

Postoje straightforward rješenja:
- u KDE-ovom control center-u (te posebna podrška za IBM/Lenovo ThinkPad (kmilo) i Sony laptope)
- u Gnome-u: gnome-keybinding-properties i slični
- KeyTouch - GUI koji radi velik dio posla koji ćemo mi dolje proći automatski, te ima mnoge tipkovnice već predefinirane u svojoj bazi (ako napravite konfiguraciju za svoju tipkovnicu koja nije u bazi obavezno im pošaljite tu datoteku nazad)


Ti alati će nam raditi u 90% slučajeva, međutim što ako zakažu ili ako jednostavno želimo znati više i zasukati rukave? Onda dolazimo do ovog tutoriala...

Napomena: USB tipkovnice, mobitele, USB miševe i ostale USB uređaje (tzv. HID, Human Interface Device) ćemo ostaviti za neki drugi tutorial - oni imaju standardizirane kodove i rade na malo drugačijem principu, a i sama procedura je jednostavnija.

Kad pritisnemo neku tipku na tipkovnici generiramo u kernel-u događaj koji se identificira kao određena "hrpa znakova" (scancodes) koji se povezuju sa jedinstvenim kodom tipke (keycode). Kad se starta, X server (onaj koji je zadužen za grafičko sučelje) uzme te kernel-ove kodove za tipke i poveže/doda ih u svoju vlastitu tablicu kodova (svaki kod tipke se mapira/poveže sa čitljivim stringom kojeg pak prepoznaju razno-razne aplikacije ili ga mi postavimo kao prečac/shortcut za neku operaciju ili funkciju).

Prvo moramo provjeriti prepoznaje li kernel sve tipke koje želimo (tj. pridružuje li svakoj tipki kod tipke):
- stisnemo tipku koja nas zanima i gledamo u dmesg što se pojavilo, npr.
$ dmesg | tail
atkbd.c: Unknown key released (translated set 2, code 0x92 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e012 <keycode>' to make it known.
atkbd.c: Unknown key pressed (translated set 2, code 0x92 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e012 <keycode>' to make it known.

Već nam tu kernel savjetuje što da radimo: setkeycodes e012 <keycode>, gdje je <keycode> bilo koji nezauzeti broj, odnosno kod tipke. Da ipak budemo uredni, nećemo staviti bilo koji broj, već ćemo ga generirati po ovom principu: uzmemo zadnje 2 znamenke broja s e0 iz dmesg-a (u gornjem primjeru je to e012 -> 12), prebacimo ga iz heksadekatskog u decimalni sustav (ili digitronom ili na prste :-P ), to je 18 i zbrojimo na 128, što je u mom slučaju 146.
Konačna naredba je:
setkeycodes e012 146
S getkeycodes vidimo što smo napravili (getkeycodes ispisuje tablicu svih kodova tipaka).
Da taj postupak ne bi radili ponovno pri svakom paljenju/rebootanju računala, stavit ćemo sve te naredbe u /etc/rc.local datoteku (koja je baš namjenjena za takve "ručne" postavke sustava, nešto kao Startup direktorij u Windowsima, koji se izvršava odmah pri dizanju sustava).
Editiramo /etc/rc.local datoteku dodajući joj gornju naredbu setkeycodes e012 146.
To je to što se tiče nalaženja nepoznatih kodova tipaka.

 

Sad trebamo napraviti drugi korak: reći X-u kako da ih lijepo nazove (no već u ovom trenu možemo koristiti gore navedene alate za prečace). Alat se zove xev.
Pokrenite ga za probu. Otvorit će vam se bijeli prozor, a konzola u kojoj je pokrenut ispisivati će sve informacije koje X server prima s ulaznih uređaja (detektira sve pritiske i otpuštanja tipaka). Proces prekinemo tako da mišem ugasimo bijeli prozor.
Da ne dobivamo takvu šumu podataka unesite ovu modifikaciju koja ispisuje samo bitne podatke i filtrira ponovno stiskanje iste tipke:
xev | gawk '/keycode/{if($0!=l)print;l=$0;}'
Sad tražimo liniju u kojoj piše "NoSymbol". Toj tipki nije pridružen ni jedan string i očitavamo njezin kod tipke (keycode)*.
Ili alternativa (ispis je odmah pogodan za daljnju obradu)
xev | sed -n 's/^.*keycode *\([0-9]\+\).*$/keycode \1 = /p'

Ostaje nam samo spremanje nađenih informacija. Otvorimo (ili napravimo novu) txt datoteku u home direktoriju .Xmodmap:
gedit ~/.Xmodmap
i otvorimo bazu standardnih X stringova:
gedit `locate XKeysymDB`
U mom slučaju meni je pogodan naziv "XF86Favorites", jer takvu nekakvu namjenu i ima tipka po slici na njoj. U prvu otvorenu datoteku ubacim liniju:
keycode 200 = XF86Favorites
Proba:
/usr/bin/xmodmap ~/.Xmodmap
Sad još samo stavimo tu zadnju liniju u startup, bilo da vrijedi za cijeli sustav, bilo da vrijedi za jednog korisnika (ukoliko različiti korisnici žele različite funkcije tipki).
Za GDM i postavke za cijeli sustav dodamo sadržaj gornje datoteke u /etc/X11/Xmodmap.
Za pojedinog korisnika dovoljno je:
echo '/usr/bin/xmodmap ~/.Xmodmap' >> ~/.xinitrc
XFC4 (koliko sam pročitao) pretpostavlja već čemu služi datoteka s tim imenom u home direktoriju i sam je aktivira, a isprobao sam, to radi i Gnome (ponudi se da uključi tu datoteku).

----------
* nije mi jasno zašto se nekad keycode-ovi koje X prepozna razlikuju od keycode-ova koje smo dodjelili tipki s setkeycodes (valjda su mu zauzeti)?

Reference:
man: setkeycodes, getkeycodes, showkey
http://wiki.linuxquestions.org/wiki/Xev
http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys


A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'

Two atoms bump into each other. One says 'I think I lost an electron!' The other asks, 'Are you sure?', to which the first replies, 'I'm positive.'
Private pet 30.10.2009 11:02

Bilo bi dobro kad bi netko od Linux korisnika koji su s naredbenom konsolom na ti, napisao korak po korak pisanja komandi pomoću skripiti u Linux-u.
Poziv tako napravljene skriptne komande s konsole i slično.Recimo , skripte koje u sebi imaju if ,then i while ,takve stvarčice.Osmijeh

4ndY pet 30.10.2009 15:42
Private kaže...

Bilo bi dobro kad bi netko od Linux korisnika koji su s naredbenom konsolom na ti, napisao korak po korak pisanja komandi pomoću skripiti u Linux-u.
Poziv tako napravljene skriptne komande s konsole i slično.Recimo , skripte koje u sebi imaju if ,then i while ,takve stvarčice.Osmijeh

Ne kužim što točno misliš. Ako misliš na obrađivanje cijelog basha... to je ipak malo previše :-)

A i postoji već brdo tutoriala na engleskom.

 

No možda netko pokaže entuzijazam i napiše to na wiki.open.hr :-)

hrvooje uto 25.5.2010 09:26

evo zgodne banalne stvari koje sam saznao. kako često objavljujem slike na webu, moram im često mijenjat veličinu, a GIMP je za ovaj posao overkill. puno brže i lakše je preko imagemagicka.  potrebno je prvo instalirat sudo apt-get install imagemagick. zatim
stavite slike kojima želite promijeniti veličinu u jedan folder i pozicionirate terminal u taj folder. ako želimo da su sve slike širine 640 napravimo:

 

mogrify -resize 640 *.jpg

 

sve slike će biti širine 640 s originalnim omjerom.

 

ako želimo smanjiti sliku na određen postotak i dati joj novo ime  to radimo:

 

mogrify  -resize 30% slika_stara_velika.jpg slika_nova_mala.jpg

 

zgodno, brzo i dobro za znati

niki uto 25.5.2010 15:43

Evo jedne fore za one koje često čitaju man pageove raznih programa. Ovo ljepo oboja stranice.

 

kopirajte ovo u svoj .bashrc ( /home/<username>/.bashrc )

export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;38;5;74m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[38;5;246m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[04;38;5;146m'

 

Evo kako izgleda:

hrvooje sub 29.5.2010 12:07

kako se udaljeno spojiti na windows stroj :

 

u ubuntu postoji remote desktop viewer, i odlično služi svrsi za udaljeno spajanje na ubuntu desktop i vnc servere, ali ne podržava rdp (remote desktop protocol) koji je potreban za spojiti se na windows stroj. ono što vama treba je rdesktop koji je command line utility ili

terminal server client koji je gui verzija rdesktopa. da stvar bude bolja terminal server client je po defaultu instaliran u ubuntu 10.04. potrebno je :

 

pritisnuti ALT+F2

upisati tsclient

pritisnuti enter

 

pojavit će se prozor gdje pod Computer pišete ime računala ili ip adresu, upišete username i pass i spojeni ste na vaš windows desktop/server.

 

video

hrvooje sri 2.6.2010 08:04

kako jednom komandom napraviti backup direktorija i to samo onih fileova koji su se promijenili, a ne sve svaki put. odlično za backup web stranice. naravno trebate imati ssh račun na udaljenom računalu:

 

rsync -vare ssh username@192.168.0.2:/home/username/vaznipodaci/* /home/username/backup/

ovdje radimo backup svega iz /home/username/vaznipodaci/ s računala 192.168.0.2 na trenutno računalo u /home/username/backup
Punti sri 22.9.2010 13:46
hrvooje kaže...

evo zgodne banalne stvari koje sam saznao. kako često objavljujem slike na webu, moram im često mijenjat veličinu, a GIMP je za ovaj posao overkill. puno brže i lakše je preko imagemagicka.  potrebno je prvo instalirat sudo apt-get install imagemagick. zatim
stavite slike kojima želite promijeniti veličinu u jedan folder i pozicionirate terminal u taj folder. ako želimo da su sve slike širine 640 napravimo:

 

mogrify -resize 640 *.jpg

 

sve slike će biti širine 640 s originalnim omjerom.

 

ako želimo smanjiti sliku na određen postotak i dati joj novo ime  to radimo:

 

mogrify  -resize 30% slika_stara_velika.jpg slika_nova_mala.jpg

 

zgodno, brzo i dobro za znati

 

Ima bolja i lakša fora da direktno u nautilusu desnim klikom na selektirane fotke dobiješ resize image(s), ali mi se ne da sad tražiti gdje je. 

hrvooje pon 3.1.2011 13:13

kako na bug forumu ima dosta poruka po stranici, često se vraćam na vrh skrolanjem u internet browseru koje oduzima vrijeme. alternativa je stisnuti Home dugme na tipkovnici. no onda morate micati ruku s miša pa mi se ni to rješenje ne sviđa. na kraju sam našao rješenje: postavio sam middle button na mišu kao Home tipku.

 

trebaju vam programčići xevxbindkeys i xte.  zadnji se nalazi u paketu xautomation, prvi u paketu x11-utils. nalaze se u repozitoriju. pomoću programa xev možete identificirati tipke, kako na tipkovnici tako i na mišu. pokrenete u terminalu xev i kliknete u mom slučaju srednji klik miša. xev mi kaže da je to button 2. 

 

zatim u /home/username/ napravite file .xbindkeysrc na način da u terminalu pokrenete xbindkeys --defaults > /home/username/.xbindkeysrc

 

zatim u taj .xbindkeys dodate nešto poput ovog :

 

      #pripaja tipku Home na srednji klik miša

       "xte 'key Home'"

          b:2

 

zatim u ubuntu je potrebno pri paljenju dodati da se starta xbindkeys i to u System - Preferences - Startup Applications , odete na Add i pod command se upiše xbindkeys

nakon promjena u fileu potrebno se odlogirat da bi se promjene učitale. meni se ovo čini zgodno rješenje. moguće su razne stvari, sve prema vašim željama, npr. ako želite zatvoriti prozor srednjim klikom to možete napraviti na ovaj način:

 

      #zatvaranje prozora tipkom miša (tipka je br. 8 ako miš ima toliko tipki)

      "xte 'mouseclick 1' && xte 'keydown Alt_L' 'key F4' 'keyup Alt_L'"

         b:2+Release

 

raspored tipki na mišu se može vidjet uz pomoć xinput list da se identificira miš pa zatim sa xinput get-button-map "ime uređaja iz naredbe ranije" . kod mene to izgleda ovako nekako:

 

 

⎡ Virtual core pointer                        id=2 [master pointer  (3)]

 

⎜   ↳ Virtual core XTEST pointer              id=4 [slave  pointer  (2)]

⎜   ↳ Logitech USB-PS/2 Optical Mouse      id=9 [slave  pointer  (2)]

⎜   ↳ SynPS/2 Synaptics TouchPad           id=11 [slave  pointer  (2)]

⎣ Virtual core keyboard                      id=3 [master keyboard (2)]

   ↳ Virtual core XTEST keyboard            id=5 [slave  keyboard (3)]

   ↳ Power Button                          id=6 [slave  keyboard (3)]

   ↳ Video Bus                             id=7 [slave  keyboard (3)]

   ↳ Sleep Button                           id=8 [slave  keyboard (3)]

   ↳ AT Translated Set 2 keyboard            id=10 [slave  keyboard (3)]

   ↳ HP WMI hotkeys                       id=12 [slave  keyboard (3)]

bla@bla:~$ xinput get-button-map "Logitech USB-PS/2 Optical Mouse"

1 2 3 4 5 6 7 

 

 



hrvooje uto 1.2.2011 00:21

onemogućiti touchpad dok se tipka:

 

pokrenuti dameon:

syndaemon -d

pokrenuti daemon da touchpad omogući tek 4 sekunde nakon tipkanja:

syndaemon -i 4 -d

staviti tu komandu u startup application i to je to.

 

link na opširnije

 

ako jednostavno želimo komandom onemogućiti touchpad onda tipkamo:

xinput list

pa zatim kad identificiramo touchpad:

xinput --set-prop "PS/2 Generic Mouse" "Device Enabled" 0

ili omogućit:

xinput --set-prop "PS/2 Generic Mouse" "Device Enabled" 1

 

postavimo te komande na system-preferences-keyboard shortcut . ja sam dodao na super+x i super+y disable i enable. 

 

*pod "PS/2 Generic Mouse" ja sam pisao kod sebe "SynPS/2 Synaptics TouchPad". vi kod sebe pišete kako je kod vas identificiran touchpad. primjer izlistanja komande xinput list kod mene je ova:

 

 

hrvooje@kanta:~$ xinput list

⎡ Virtual core pointer            id=2 [master pointer  (3)]

⎜   ↳ Virtual core XTEST pointer         id=4 [slave  pointer  (2)]

⎜   ↳ HID 04d9:1400               id=11 [slave  pointer  (2)]

⎜   ↳ SynPS/2 Synaptics TouchPad         id=13 [slave  pointer  (2)]

⎣ Virtual core keyboard           id=3 [master keyboard (2)]

   ↳ Virtual core XTEST keyboard        id=5 [slave  keyboard (3)]

   ↳ Power Button                id=6 [slave  keyboard (3)]

   ↳ Video Bus                 id=7 [slave  keyboard (3)]

   ↳ Sleep Button                id=8 [slave  keyboard (3)]

   ↳ HP Webcam [2 MP Fixed]           id=9 [slave  keyboard (3)]

   ↳ HID 04d9:1400               id=10 [slave  keyboard (3)]

   ↳ AT Translated Set 2 keyboard        id=12 [slave  keyboard (3)]

   ↳ HP WMI hotkeys               id=14 [slave  keyboard (3)]

 

 

 

hrvooje sub 18.11.2017 02:26

Svakih 6 godina jedan post obećavam

 

Kako promijeniti frekvenciju osvježavanja monitora:

1. Prvo provjerimo što nam monitor podržava s

$ xrandr

 

Dobijemo npr.

1440x900 59.9+*  75.0

1280x1024 75.0   60.0

 

Zvjezdicom obilježen mod je u upotrebi.

 

2. Postavimo mod koji želimo npr.

xrandr -s 1440x900 -r 75.0

 

Ili samo frekvenciju (refresh)

$ xrandr -r 75.0

 

3. Provjerimo da li je uspjelo

$ xrandr

1440x900 59.9+ 75.0*

1280x1024 75.0 60.0 

 

hrvooje pon 20.11.2017 09:52

Čitanje CAS latency (CL) DDR memorije

 

CL je broj koji govori koliko otkucaja mora napraviti CPU prije nego dobije od memorije traženo. Memorija sa istom frekvencijom, a manjim CL će dati traženo prije. Pod Win to lijepo pročitamo sa CPU-Z programom, dok je na Linuxu to malo kompliciranije. Brojevi na memorijskim modulima izgledaju ovako nekako 9-9-9-24. Prva znamenka predstavlja CL.

  

Serial presence detect (SPD) je standardiziran način dobijanja info o memorijskim modulima za računalo. Podaci se nalaze u EEPROM čipu na memorijskom modulu.

 Do podataka se dolazi preko SMBus serijske sabirnice, koja služi i za komunikaciju sa drugim uređajima na MBO npr. temperaturnim senzorima, senzorima ventilatora itd. Ta sabirnica se ranije nalazila na southbridge chipsetu zvana I/O Controller Hub (ICH). Na novijim CPU-ima je to integrirano u sam CPU i zove se Platform Controller Hub (PCH). Konkretno kod Intela, od serije 5 čipseta iz 2008. 

 

Zašto cijela ova priča? Zato što na Linuxu, SMBus zna biti skriven od BIOS-a. Asus i mnogi drugi vendori znaju je sakriti, jer je koristi Advanced Configuration and Power Interface (ACPI). ACPI je Intelova Instantly Available tehnologija ili ono što Microsoft naziva Always ON. Radi se o standardu za upravljanje energijom kod računalnih komponenti. Služi da plug-and-plug, hibernaciju, spavanje, paljenje i gašenje u zadanom trenutku, smanjivanje otkucaja CPU-a radi štednje kod laptopa itd. Naravno, MS ovdje surađuje sa svim proizvođačima, dok je to kod Linuxa druga priča. Odatle i cijela priča zašto to i to ne mogu na Linuxu, a mogu na Win. Zato što MS plati proizvođačima podršku, a na kraju dana, ako ne naprave podršku za Win kome će prodati hardver, jer je Win defakto desktop sa preko 90% tržišta. No, ovu kvaku 22 ostavimo za druge teme.

 

Da bi otkrili da li vidi potrebnu sabirnicu tipkamo

lspci

gdje bi pod 00.1f.3 trebali vidjeti SMBus. Ako ne vidimo 00.1f.3 na popisu, onda je sakrivena.

 

Kako mi je rekao održavatelj i2c-i801 drivera Jean Delvare, u kernelu postoje načini kako od-sakriti sakriveni SMBus, ali samo do ICH6 čipseta. Za novije čipsete nije napisana PCI zakrpa. Tu pomaže samo bootanje memtest86 sa nekog live Linux medija ili čitanje serijskog broja memorije s lshw -c memory pa traženje na stranici proizvođača.

 

Tamo gdje nije sakrivena od BIOS-a SMBus, moguće je pogledati CL s programom decode-dimms iz i2c-tools paketa. i2c-tools instaliramo s

 

sudo apt-get install i2c-tools.

 

decode-dimms zahtjeva da je SMBus kontroler podžan u kernelu te EEPROM kernel driver. Zatim učitamo driver za EEPROM:

sudo modprobe eeprom

Onda izlistamo senzore

sudo i2cdetect -l

Ako SMBus nije među njima, probamo ga detektirat s

sudo sensors-detect

Možemo odabrati za 'No' za senzore koji su već izlistani, te na kraju ako ih ne želimo učitavati pri bootu također 'No'. Ako sve prođe ok, onda će poruka biti da treba učitati modul i2c-i801 da bi se videla SMBus sabirnica

sudo modprobe i2c-i801

Nakon toga izlistamo i dobijemo npr.

$ sudo modprobe i2c-i801
$ sudo i2cdetect -l
i2c-0 i2c NVIDIA i2c adapter 0 at 1:00.0 I2C adapter
i2c-1 i2c NVIDIA i2c adapter 1 at 1:00.0 I2C adapter
i2c-2 i2c NVIDIA i2c adapter 9 at 1:00.0 I2C adapter
i2c-3 smbus SMBus I801 adapter at f000 SMBus adapter

Nakon toga pokrenemo 

sudo decode-dimms

I dobijemo tražene parametre

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/3-0050
Guessing DIMM is in bank 1
---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116 OK (0xF02A)
# of bytes written to SDRAM EEPROM 176
Total number of bytes in EEPROM 256
Fundamental Memory type DDR3 SDRAM
Module Type UDIMM
---=== Memory Characteristics ===---
Fine time base 2.500 ps
Medium time base 0.125 ns
Maximum module speed 1333MHz (PC3-10666)
Size 4096 MB
Banks x Rows x Columns x Bits 8 x 15 x 10 x 64
Ranks 2
SDRAM Device Width 8 bits
tCL-tRCD-tRP-tRAS 8-8-8-24
Supported CAS Latencies (tCL) 9T, 8T, 7T, 6T

 

Dakle, sažetak za kraj. Ako sabirnica nije sakrivena od BIOS-a potrebno je:

sudo aptitude install i2c-tools
sudo modprobe eeprom
sudo modprobe i2c-i801
decode-dimms

overhead čet 10.1.2019 02:34

Najveci hak za performanse sto mozete u linuxu napraviti je spustiti kernel u ZONE_DMA memoriju.

Defaultno kernel se dekompresira i pokrece u 0x1000000 memorijskoj adresi (16MB), to je granica ZONE_DMA, znaci kernel radi u ZONE_NORMAL 16MB - 896MB

U ZONE_DMA je 64KB za bios (ja sam svojemu dao 8KB) nativna video memorija i neki blobvi , oko 639KB

i ostatak do adrese kernela je zapravo rupa.

A tipican mali, dobro konfiguiran kernel tesko da ce prelaziti 16MB, tako da u tu rupu zapravo stanu gotovo svi kernel procesi, i puno su brzi u ZONE_DMA memoriji nego u ZONE_NORMAL, iako se i dalje neki kernel procesi prosire u zone normal...

Da biste to podesili morate imati imati otkljucan kernel source, znaci nikakva ubuntu, arch, niti kernel bilo koje binarne distribucije...

Iskljucivo samo vanilla kernel ili source distribucije.

Kazem to jer sam upravo na zadnjem kernelu kog sam radio, dao kernelu memorijsku adresu od 1MB u toj ZONE_DMA i mogu reci da radi ko lud... ali i dalje ima rupu od ~30KB... Postoje standardi memorijskih adresa u linuxu, ne moze se uzeti koja god...

nekad je linux defaultno startao u low memoriji, danas je to generalizacijom otislo daleko... jer se kernel prosirio na mnogi hardware

Prvi linux kerneli koji su imali svoj bootloader su bili daleko brzi od danasnjih.....

ali eto mali info, za one koji zele da im kernel bude brz kao sto su originalni bili

ihush čet 10.1.2019 12:10
overhead kaže...

..

Prvi linux kerneli koji su imali svoj bootloader su bili daleko brzi od danasnjih.....

ali eto mali info, za one koji zele da im kernel bude brz kao sto su originalni bili

 -glupost. Kernel od prije 30 (25+) godina nije imao desetinu sadržaja (supporta) današnjeg, npr usb miš. Probaj.

-svaki 'stroj' (za plastičniji opis npr vozilo, auto-osobno, kamion, traktor, autobus, f-1..) se može specijalizirati kao što se može i svaki alat, ali tad gubi svestranost-fleksibilnost, ili-ili, dok je brzina današnijh računala neupsporediva s tadašnjim u mgh-ghz.. brzina rama, chipseta ali i višestruko veći resursi npr količina podataka za prikaz na ekranu ili interenet-mreža. Više reusrsa, brže, ali neusporedivo jer je samo to uspoređivanje besmisleno, kao i referenciranje na takav kernel kao neki 'dokaz' (čega? brzine?? LOL, tad je C-64 ''jači'' jer sve stane u keš cpua..).

-segmentacija memorije, adresiranje, pravila 'pristojnog' programiranja (postoji i ''prljavo'', kad se radi nešto zbog npr performansi)... banalno, možeš izbaciti-abandati dio mrtvog koda iz kernela i npr izbaciti PATA-FDD support, no tad takav krenel ne radi na svim računalima/periferiji. Možeš izbaciti bilo što, tad će čisto fizikom, manje biti jednako ili brže od većeg (ne može biti sporije), ali ne zato jer je brže (stvar tumačenja što je brzina, npr takt-ciklus za izvršavanje neke operacije kao množenje) nego zato jer kontrolira menje stvari ''nepotrebnih'' i tad je neka konzola kao pleyka u prednosti u odnosu na PC jer jednostavno nema potrebe detektirati npr količinu raspoložive memorije ili cpu-vga.. printer-miš, jer je tvornički zadana i može preskočiti taj dio inicijalizacije. Manje je tad brže, ne zbog brzine izvršavanja, nego zbog manje količine posla + manje gužve na sabirnici jednako kao što možeš imati jedno ili više računala na mreži, ako je jedno brzina npr YT može biti sva za njega, ako su dva-više, tad .. a sama brzina interneta je ista. PRljavo programiranje je upravo to, kao i petljanje po DMA memoriji. Može se nešto ubrzati jednako kao što se može voziti (pre)brzo, no postoje pravila-regulacija.. s dobrim razlogom. Takav stav dovodi do više problema nego koristi. Loše-pogrešno kao što bi bilo pogrešno početnika-vozača nagovarati na stiskanje gasa umjesto na 'kočenje'.

 

-lupetaš o stvarima koje ne znaš, tek par pojmova negdje izgooglaš. Treba to sasjeći, jer naivni početnici mogu nasjesti :)

-o segmentaciji memorije kako EMS/SLAT nemaš blage veze, dok iz druge teme uopće ne razumiješ, ne razlikuješ što znači legacy-uefi kojeg čitaš kao jedan pojam, zapravo su dva, koji znače da bios podržava jedan-ili drugi ili oba .. i-ili ali nije u oba moda, nego se bootanjem to odredi i tad je u tom odabranom modu, pa tad nastavak na uefi mogućnosti kao MBR-GPT dok to nikakve veze s open-foss nema kao ni potrebe braniti grub.