Kære gæst, velkommen til Tweak.dk. Hvis dette er dit første besøg her, bør du læse Hjælp. Her forklares i detaljer hvordan denne side fungerer. For at benytte alle funktionerne på denne side, bør du overveje at lade dig registrere. Benyt venligst registreringsformularen for at registrere her eller læs yderligere information om registreringsprocessen. Hvis du allerede er registreret, så log på her.

1

lørdag, 19. juli 2008, 11:53


Dette kapitel af guiden beskæftiger sig med diverse tips og tricks til Gentoo. Tips og tricks der kan hælpe dig med at få det bedste ud af systemet. Husk på at jeg ikke kan drages til ansvar for amatøragtige handlinger det får jeres filer til at forsvinde eller eres systemer til at futte af.

Forkortelse af emerge kommandoer

Ved at køre kommandoen emerge --help kan man få en liste over mulige kommandoer, men jeg vil give en lille kort liste over kommandoer og parametre der kan bruges i hverdagen.

emerge -avt pakkenavn giver en liste over hvilke pakker der skal installeres og hvilke USE flag der skal sættes for programmet. Pakkenavn udskiftes med navnet på pakken

emerge -uD world opdaterer alle pakker på systemet der opdateres kan. Det anbefales at køre denne efter en ugentlig eller månedlig emerge --sync, så man har alle de nyeste pakker.

emerge -uDN world opdaterer alle pakker og gør dem i stand til at bruge nye USE flag som man har sat. Samme kommando bruges med det samme efter at man har sat USE flag til at recompile pakker til at bruge nye flag.

Brug af grafikkort RAM som swap eller RAM drev

Alle grafikkort har i dag mindst 64 MB RAM og en forholdsvis hurtig GPU. et typisk grafikkort har i omegnen af 128-512 MB RAM. Problemet er bare at man ikke kan udnytte det i fx. en server eller til andre formål hvor grafik ikke spiller den store rolle. Noget man kan i Gentoo, er at man kan bruge grafikkortets hurtige RAM (typisk ned til 1ns, hvor en harddisk er på min. 50-75 ns læsetid)

For at man kan bruge grafikkortets RAM som swap eller som RAMdisk, skal man helst køre med vesa driveren eller med open source driveren, da man kan bestemme hvor meget RAM på grafikkortet de skal styre. Dette kan man ikke med producenternes egne grafikkortdrivere, og filer, samt system kan gå i stykker hvis man gør dette med producenternes drivere.

For at kunne bruge det ekstra RAM på grafikkortet og andre kort, skal det kunne styres af kernen. kernel 2.6 leverer hvad vi har brug for: Memory Technology Device (MTD). Gå ind i kernens menuconfig (Hvis de forrige guider er blevet fulgt, vil i vide det nu. enten make menuconfig eller genkernel --menuconfig all):

Citeret


Device Drivers --->
....Memory Technology Devices (MTD)--->
........Memory Technology Device (MTD) support
......... [*] eller [M] Direct char device access to MTD devices
......... [*] eller [M] Caching block device access to MTD devices
..........Self-contained MTD device drivers --->
..............[*] eller [M] Uncached system RAM
..............[*] eller [M] Physical system RAM


Du kan både kompilere dem som moduler eller som indbyggede drivere, det virker uanset hvad.

Herefter skam vi finde grafikkortets RAM, det nemmeste er at bruge lspci:

Citeret

lspci -vvv


Hvorefter vi får en masse output (min laptop som eksempel):

Kildekode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
...
01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 9581 (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. Unknown device 1562
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 20
	Region 0: Memory at c0000000 (32-bit, prefetchable) [size=512M]
	Region 1: I/O ports at c000 [size=256]
	Region 2: Memory at fdff0000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at fdfc0000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v1) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <64ns, L1 <1us
			ClockPM- Suprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
		Address: 0000000000000000  Data: 0000
	Kernel driver in use: fglrx_pci
	Kernel modules: fglrx
...


Den vi skal holde øje med er Region 0. Begyndelsen af hukommelsesområdet er 0xc0000000, en 32 bit hex-værdi (x86_64 udgaven viser det måske som en 64-bit hexadecimalværdi, jeg ved det ikke og har ikke prøvet, men sig til hvis den gør)

For at kunne bruge denne hukommelse skal man fortælle MTD driveren hvor den starter og slutter. Det er nemt at udregne slutadressen, man skal bare vide hvor meget RAM man vil tage af. Men husk at det er en god idé at lade noget RAM være til selve grafikchippen også for at kunne gøre brug af GPUens basale funktioner.

Start af SLRAM modulet hvis man har kompileret SLRAM (Uncached system RAM) som modul:

Kildekode

1
2
3
# Region 0 starter ved 0xc0000000, lad 12 MB RAM ligge (så har vi 500MB til swap eller RAMdrev). Brug derefter en #lommeregner til at udregne 12*1024*1024 og konvertér denne værdi til hex (som er 0x00c00000 i 32-bit hex). Dette #betyder at 0xc0c00000 er startpositionen. Den tredje parameter har et plus foran fordi det IKKE markerer #slutpositionen, men derimod et offset. Denne skal i dette tilfælde svare til 500MB i 32-bit hex. (som er 0x1F400000)

modprobe slram map=VRAM,0xc0c00000,+0x1f400000


Start af PHRAM (Physical System RAM)modulet:

Kildekode

1
2
3
4
5
6
7
8
9
#At loade med PHRAM modulet er meget i stil med at loade med SLRAM modulet udover at det bruger en #længdeparameter i stedet for et offset.
# Loading with PHRAM module is very similar to SLRAM module, except that it uses a "length"
# parameter by default rather than an "end offset".

# Dette gør det samme som SLRAM modulet ovenfor
modprobe phram phram=VRAM,0xc0c00000,0xc00000

# Igen det samme, bare nemmere at læse
modprobe phram phram=VRAM,0xc0c00000,500Mi


eller hvis SLRAM modulet er bygget ind i kernel skal dette ind i kernel command line:

Kildekode

1
2
3
4
5
# mtd0 er enheden der skal mappes (hvis grafikkortet er det første kort der blev konfigureret er denne mtd0) 
# De andre parametre viser det samme som dem ovenfor, startadresse og offset.
# Computeren skal genstartes for at man kan bruge den nye hukommelse

slram=mtd0,0xc0c00000,+0x1f400000


Man burde så med dmesg kunne se:

Kildekode

1
2
3
4
5
slram: devname = mtd0
slram: devstart = 0xc0c00000
slram: devlength = +0x1f400000
slram: devname=mtd0, devstart=0xc0c00000, devlength=0x1f400000
# derefter kommer informationer om i hvilke RAM områder mtd0 ligger i og om at mtd0 er registreret.


Desuden kan man tjekke /proc/mtd for at se om denne har fundet mtd enheden.

Når du så har understøttelse på plads i kernen og har fået alle data, så skal du have adgang til hukommelsen. Det er tid til at lave enhederne. Hvis du har udev, skal du bare modprobe mtdchar og mtdblock (alm. Gentoo indeholder udev) og hald vil lave drivere automatisk.

Kildekode

1
2
3
4
5
6
7
8
9
#Opret character enheden. MTD vil bruge og allokere denne så den ikke bruges af almindelige programmer. Den er #vital for at MTD skal kunne fungere
#Hvis Direct Character Device access to MTD devices er blevet kompileret som et modul, skal man først køre modprobe: #modprobe mtdchar

mknod /dev/mtd0 c 90 0


#Opret block enheden. Denne vil blive brugt og behøver "Caching block device access to MTD devices". Hvis denne er #kompileret som et modul skal man først køre modprobe mtdblock

mknod /dev/mtdblock0 b 31 0


Herefter kan vi så bestemme om grafikkortets RAM skal bruges som RAMdisk eller som swaphukommelse. Ligemeget hvad skal der oprettes et filsystem

For at oprette swaphukommelse:

Citeret


mkswap /dev/mtdblock0
swapon /dev/mtdblock0


Dette vil oprette swapstrukturen i grafikkortets RAM og aktivere det som swaphukommelse som systemet kan bruge. For at sætte en prioritet (hvilken swapkilde der skal bruges først) kan man bruge swapons parameter -p X hvor X er et tal mellem 0 og 32767, jo højere tallet er, jo højere ligger grafikkortets hukommelse på listen

Citeret

swapon /dev/mtdblock0 -p 10

Hvis ikke der specificeres en prioritet, så vil den næstlaveste prioritet blive brugt. Desuden kan MTD området lægges i /etc/fstab så man ikke skal oprette enheden efter boot.

Kildekode

1
2
# <fs>                          <mountpoint>    <type>          <opts>                  <dump/pass>
/dev/mtdblock0                  none            swap            sw,pri=10

i options feltet svarer pri=10 til swapons -p parameter.

Det kan godt være fedt at have hurtig swaphukommelse eller en hurtig RAMdisk på din computer, men husk at hvis enten NVidias eller ATIs egne drivere bliver startet op med X, så kan det få systemet til at fryse eller lave grafikfejl. Der er ingen måder at fortælle disse drivere hvor meget af grafikkortets hukommelse må bruge. (de vil styre hele grafikkortets hukommelse). Dog er VESA driveren god, da den giver mulighed for at fastsætte antal RAM på grafikkortet.
Det betyder at det enten er DRI og 3D effekter eller hurtig swap.

I modsætning til alm. RAM og harddiske, så er der ingen grafikkort der har ECC RAM. Dette betyder måske ikke det store når der skal tegnes grafik, men det er en dum idé at lægge vigtige data på, eller at bruge det til andet end compiling på servere.

Dette indlæg er blevet redigeret 1 gange, senest redigeret af "Foxx" (19.07.2008, 11:55)


2

mandag, 9. februar 2009, 23:26


Huskeregler med RAID

Hvis man har en server eller bare en hardware RAID controller, så kan man stort set sætte det hele op som det passer en, ligesom med Windows XP. Normalt har Gentoo et drivermodul til din controller medmindre dit hardware er nyt og sygt. Langt de fleste servercontrollere sørger for at dine diske bliver sat op og gjort klar til dagens dont.

Derimod vil du få et problem hvis du vil bruge software RAID i forbindelse med Gentoo, især fordi du kan risikere at GRUB vil brokke sig. /boot må ALDRIG ligge på en software-RAID0 partition, da GRUB på ingen måde understøtter dette. Grub må gerne ligge på en software-RAID1 partition, da alle data stadig hænger sammen her.
Giv endelig lyd fra dig hvis du ved om LILO understøtter software-RAID0, jeg aner det ikke


3

fredag, 27. marts 2009, 12:22


lige et spørgsmål ang raid0 i gentoo

jeg kan simpelthen ikke få lortet til at virke :-)

i fdisk fasen har jeg ikke som jeg troede en samlet disk enhed(fx: sda) nej jeg har 2 disk enheder (sda og sdb) og det er lidt uforståeligt fordi bundkortet har en intel matrix controller hvori jeg har lavet et "hardware" raid og så troede jeg at gentoo også ville kunne forstå det, men nej den ser stadig 2 diske.. why ? og hvordan pokker kommer jeg uden om det ?

AMD

4

mandag, 6. september 2010, 18:46


Citeret

Oprindeligt indlæg af !wfdi
lige et spørgsmål ang raid0 i gentoo

jeg kan simpelthen ikke få lortet til at virke :-)

i fdisk fasen har jeg ikke som jeg troede en samlet disk enhed(fx: sda) nej jeg har 2 disk enheder (sda og sdb) og det er lidt uforståeligt fordi bundkortet har en intel matrix controller hvori jeg har lavet et "hardware" raid og så troede jeg at gentoo også ville kunne forstå det, men nej den ser stadig 2 diske.. why ? og hvordan pokker kommer jeg uden om det ?


Jeg ved godt at dette er en ældre tråd, men jeg syntes lige så godt at svaret kan postes.

Det er naturligvis fordi at det RAID som intel tilbyder ikke er "rigtig" hardware RAID, men RAID hvor meget af logikken stadigvæk ligger i software.

Det betegnes ofte som fakeraid og er desværre gældende for stortset alle RAID controllere på bundkort, med meget få undtagelser (mener Silicon Image har lavet en som Gigabyte bruger på visse bundkort udover fakeraid SATA controlleren som de bundkort normalt også har).

I gentoo regi, kan man læse mere om det her: LINK

Husk at tænke dig om inden du poster, underbyg gerne svar med argumenter baseret på fakta og husk kilder.

5

mandag, 6. september 2010, 19:32


Citeret

Oprindeligt indlæg af RTM

Citeret

Oprindeligt indlæg af !wfdi
lige et spørgsmål ang raid0 i gentoo

jeg kan simpelthen ikke få lortet til at virke :-)

i fdisk fasen har jeg ikke som jeg troede en samlet disk enhed(fx: sda) nej jeg har 2 disk enheder (sda og sdb) og det er lidt uforståeligt fordi bundkortet har en intel matrix controller hvori jeg har lavet et "hardware" raid og så troede jeg at gentoo også ville kunne forstå det, men nej den ser stadig 2 diske.. why ? og hvordan pokker kommer jeg uden om det ?


Jeg ved godt at dette er en ældre tråd, men jeg syntes lige så godt at svaret kan postes.

Det er naturligvis fordi at det RAID som intel tilbyder ikke er "rigtig" hardware RAID, men RAID hvor meget af logikken stadigvæk ligger i software.

Det betegnes ofte som fakeraid og er desværre gældende for stortset alle RAID controllere på bundkort, med meget få undtagelser (mener Silicon Image har lavet en som Gigabyte bruger på visse bundkort udover fakeraid SATA controlleren som de bundkort normalt også har).

I gentoo regi, kan man læse mere om det her: LINK


det gør ike noget, men jeg er blevet lidt klogere på det felt :-)

og fik det faktisk til at virke, med en nyere udgave.

AMD

Seneste tests og artikler

0

Logitech K830 Wireless Keyboard

Tweak.dk kaster i dag et kriti
Læs Mere

1

Logitech G402 Hyperion Fury Gaming Mouse

Det er os en stor fornøjelse a
Læs Mere

0

Enermax Hot-swap og Harddisk Enheder

I denne test skal vi ikke kun
Læs Mere

0

be quiet! Straight Power 10 - 600 watt

Du kender garanteret den tyske
Læs Mere
Seneste nyheder

0

Gigabyte med nyt GeForce GTX 970 WindForce OC grafikkort

Gigabyte er klar med deres and
Læs Mere

0

Apple produkter husker nu hvor du har været

Hvis du ikke selv kan huske hv
Læs Mere

0

AMD med ny Catalyst 14.9 WHQL driver

AMD har frigivet en ny Catalys
Læs Mere

0

Microsoft har annonceret Windows 10

Microsoft tog de fleste på sen
Læs Mere
Nyeste Videoer og Trailers

Indsend nyhed
Har du fundet en fed nyhed så indsend den så alle andre på Tweak.dk kan få glæde af den.