linux-router vraag

Status
Niet open voor verdere reacties.

Tom VH

Gebruiker
Lid geworden
17 feb 2008
Berichten
56
Heeft iemand hier ervaring met linux. Meerbepaald met:
Patches, Stripping modules, Kernel,

Na het lezen van enkele tutorials, boeken, papers over QoS in linux wil ik mijn eigen schript schrijven. Ik zou graag gebruik maken van IFB en STAB (genecric size table manipulations). IFB zit standaard onder de linux 2.6.xx kernel / drivers / ifb.c net en STAB zit onder iproute2-2.6.xx. /tc /tc_stab.c Weet iemand hoe ik kan controleren of deze 2 onderdelen verweven zitten in de DD-WRT firmware. Ik probeer te zoeken in de mapstructuur maar ik geraak er niet aan uit. Iemand die mij toevallig kan helpen?

Code:
root@DD-WRT:/lib/modules/2.6.34.9-svn17089/kernel# cd /lib
root@DD-WRT:/lib# cd ../
root@DD-WRT:/# ls
bin   etc   lib   mnt   proc  sys   usr   www
dev   jffs  mmc   opt   sbin  tmp   var

OF iemand die weet waar ik meer "basis"-informatie kan vinden over:
  • patches in linux
  • modules
  • Optware (package manager)
  • ipgk
  • Userland / usersyace (Putty)
  • Squashfs filesystem
  • ...

PS: het is de eerste keer dat ik iets met linux / FreeBSD probeer te doen. Ik heb tot nu toe enkel met windows gewerkt.
 
Als het je 'eerste keer' is, dat je zulke dingen doet met Linux, dan lijkt het me verstandiger om je eens goed in te lezen o.i.d. over hoe Linux nu precies werkt, en of hoe de structuur van Linux werkt. Kan je de antwoorden wel zo geven, maar ik vrees dat je dan de spreekwoordelijke bomen door het bos dan al niet meer ziet staan ;)
 
Heb je toevallig een link naar een website of een referentie van een boek dat ik zou moeten lezen?

Ik heb "linux: de opbouw en installatie" al eens gelezen maar ik vind de informatie niet terug die ik nodig heb in dit document.

Bedankt!
 
Laatst bewerkt:
  • patches in linux
  • modules
  • Optware (package manager)
  • ipgk
  • Userland / usersyace (Putty)
  • Squashfs filesystem
  • ...

Er is onder linux maar 1 hoogste map en dat is "/", dat je uitspreekt als root. Waar bij windows C:/ en D:/ schijven bestaan, worden partities (van schijven) aangekoppeld onder de root of een map daaronder, meestal /media. Daar zal je met dd-wrt niet veel te maken mee hebben, tenzij je een nas hebt. Met het commando
mount
kan je alle aankoppelpunten tonen.

Om patches te kunnen gebruiken moet je over de source van dd-wrt beschikken, die volgens mij vrij beschikbaar is onder de GPL. Je patcht immers de source, die daarna gecompileerd wordt naar uitvoerbare programma's zoals bijvoorbeeld de kernel. Om te kunnen compileren heb je ook een compiler en andere tools nodig voor de processor architectuur van je router. Dat heet een toolchain. Omdat je op de architectuur van je pc compileert heet het een cross-compiler, want je bouwt programma's op je pc die op je router moeten draaien. Waarschijnlijk bouwt dd-wrt die toolchain automatisch voor je, zo niet moet je eens naar openwrt kijken, die doet dat wel.
Kernel modules zijn optioneel laadbare onderdelen van de kernel. Een driver is bijvoorbeeld een module. Zo heb je ook modules voor ondersteuning voor ipv6 of draadloos netwerken. Een module moet gecompileerd zijn met de source (of headers) en toolchain die de kernel gemaakt hebben. Oftewel, je kan geen module voor linux-2.6.39.2-k7 laden in een andere kernel dan 2.6.39.2-k7
Opware ken ik niet, ipkg/opkg is een package management systeem. Package management is heel gebruikelijk onder linux. Het is de manier om extra software te installeren, vanuit de bronnen van je distributie. dd-wrt in jouw geval. Debian/Ubuntu/Fedora, OpenSUSE etc hebben ook allemaal een package management systeem aan boord. ipkg/opkg is speciaal bedoelt voor kleine systemen zoals routers.
Putty is een ssh programma, daarmee kan je beveiligde verbindingen leggen naar een *nix systeem. Userspace staat daar los van. Userspace is het tegenovergestelde van kernel space. Grof gezegd voert de kernel z'n taken uit in kernel space. Gewone programma's hebben geen toegang tot elkaar of tot de kernel space. Die leven dus in userspace en kunnen zodoende alleen zichzelf om zeep helpen door bugs. Een programma kan dus niet een ander programma of de kernel beschadigen.
Squashfs is een gecomprimeerd alleen-lezen bestandssysteem, veel gebruikt op systemen met weinig schijfruimte, zoals routers. Vaak wordt er een ander bestandssysteem (aufs, unionfs, ...) overheen gemount om wel te kunnen schrijven.

Ik ben zelf niet thuis in dd-wrt. Voor zo ver ik dd-wrt ken is het meer bedoeld om "as is" te gebruiken dan er zelf aan te gaan zitten knutselen. Ik zou je willen aanraden eens naar openwrt te kijken, dat is veel flexibeler voor de knutselaar.
 
Bedankt voor de verduidelijking. Ondertussen was ik ook al overgeschakeld naar OpenWrt. Ik kan waarschijnlijk gebruik maken van een opkg package "dsl-qos-queue" waardoor het mogelijk is de PPPoE overhead te gaan berkenen. Ik weet wel nog niet of het voor zowel upload als download mogelijk is. De "readme" files zijn me namelijk niet zo duidelijk maar dat komt nog wel.

Ondertussen heb ik ook volgende refrentie gevonden die ik waarschijnlijk wel eens zal lezen:
http://shop.oreilly.com/product/9780596529680.do?CMP=AFC-ak_book&ATT=Building+Embedded+Linux+Systems%2C+Second+Edition%2C

bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan