Kernel build...

Met het Elektor Embedded-Linux-board

Postby mrich » Tue Sep 25, 2012 12:00 am

Is ie weer...
In artikel [3] wordt uitgelegd hoe je de kernel met evt. aangepaste configuratie kunt 'builden'.
Het builden van de (gecomprimeerde) Kernel image (zImage) is duidelijk beschreven en goed gegaan.
De gemaakte file 'zImage' was terug te vinden in de beschreven directory en die heb ik gewoon naar de rootdir van het SDkaartje gekopieerd.
Booten gaat goed!

Bij het compileren van de modules wordt volgens mij nogal kort door de bocht gegaan....
Google is meestal je beste vriend, en ben niet beroerd om eerst eens rustig e.e.a. te lezen. maar in dit geval wordt ik er geen zier wijzer van Ik vind zoveel totaal verschillende manieren om modules te builden (en te installeren.. make modules_install) dat ik als beginner van het padje ben geraakt.

Resumé:
Het artikel houdt het bij make modules' en verteld dat als het maak-proces is afgerond dat je dan de zImage file naar het SD kaartje moet kopieren... oké... en de vers gebuilde modules dan?
Waar vindt ik die? waar moeten die naartoe?
Na een beetje zoeken heb ik gevonden dat de module files (source = *.o, gecompileerde *.ko) te vinden zijn in:
~/ElektorLinuxBoardDownload_20120509/linux-2.6.33-lpc3131x/drivers/
en dan de individuele *.ko files in een directory die het drivertype aangeeft (bluetooth,gpio,usb,dma,scsi.. etc. meer dan 80!)

Op het kaartje vind ik véél minder verschillende modules/drivertypes in de volgende directory:
/lib/modules/2.6.33/kernel/drivers/
en dan weer de individuele module directories.
Op het kaartje staan alleen:
- bluetooth
- gpio
- hid
- leds
- net
- scsi
- staging
- usb

Moet ik nu zelf de driver directories op de SDcard overschrijven met de versies in de /linux-2.6.33-lpc3131x directory?

Verder ben ik bij de beschrijving van het builden van modules ook nog dingen tegengekomen als:

Kopieer /usr/src/linux/System.map naar uw /boot/ directory.
Dit bestand bevat informatie over de door de kernel benodigde modulen.


Hellup !!!
mrich
 
Posts: 29
Joined: Thu Jan 02, 2014 3:41 pm

Postby jippie » Tue Sep 25, 2012 12:00 am

Kijk eens nauwkeurig welke datum de files hebben in:

~/ElektorLinuxBoardDownload_20120509/linux-2.6.33-lpc3131x/drivers/

en de corresponderende files in:

/lib/modules/2.6.33/kernel/drivers/

Met 'make modules_install' worden de gecompileerde modules gecopieerd vanuit je build directory naar de juiste plek op het filesystem (/lib/.........), maar het zou zomaar kunnen dat oude versies niet opgeruimd worden onder /lib

Als je wil experimenteren, doe dat dan niet door dingen weg te gooien, maar rename bijvoorbeeld de 2.6.33 directory.

Overigens kun je in de kernel config ergens instellen hoe de kernel moet heten, je kunt dan je eigen riedeltje achter 2.6.33 plakken.

make menuconfig  General setup     Local version


De catch is alleen dat ik nog niet weet hoe je de bootloader moet configureren hiervoor.

De .config-file moet je nooit met de hand editen, in de tooltjes zit aanmerkelijke intelligentie om de kernel config kloppend te houden.

Een Elektor-Linus-Board-wiki om alle vergaarde kennis te bundelen zou volgens mij geen slecht plan zijn.
jippie
 
Posts: 342
Joined: Thu Jan 02, 2014 3:28 pm

Postby cas55 » Tue Sep 25, 2012 12:00 am

Hey Marcel,

Leuk je loopt tegen de zelfde dingen aan als ik. Op dat punt was ik zover dat ik dacht "ik ga mijn SD-card niet riskeren".

Eerst eens begrijpen hoe die module(s) in elkaar zitten. In het laatste artikel van elektor wordt meer uitgelegd over de kernel en hoe je nieuwe modules 'er bij in' kan compileren en installeren. (page 70 e.v.)

Verder kan ik je (nog) niet helpen, eerst uitzoeken wat je vraagt en wat Jippie als antwoord heeft. Hij is btw een goede kenner en helpt vaak erg goed. Tijd voor als Elektor sponsor te belonen. Zijn bijdragen maken dit project vaak waardevoller.

Verder kan het geen kwaad eens te kijken op de referenties die in EPJ_12_web.pdf staan (http://www.lpclinux.com/LPC313x/LPC313xGettingstartedELDK en
http://elk.informatik.fh-augsburg.de/pub/eplpc3131/work_eplpc3131/README.txt)

Ik ben sinds gisteren zover dat ik aan deel 4 toe kom. Ik heb ook nog wat referenties naar boeken over Embedded Linux, maar dat zijn nogal dikke kluiven die ik een later stadium wil door bladeren.

OReilly.Building.Embedded.Linux.Systems.Aug.2008.eBook-DDU.pdf ISBN: 978-0-596-52968-0

Emdedded.Linux.Primer.2nd.Editio.pdf
ISBN 978-0-13-701783-6

Beide gevonden met google

Verder is er nog dit .....
Tutorials Embedded Linux
The series include:
•Building a simple embedded system
•Building an embedded Linux system with a web server
•Building an embedded Linux web kiosk
•Building an ARM-based embedded Linux web kiosk
•Improving an embedded Linux system
•Deploying embedded Linux systems

http://www.linuxdevices.com/articles/AT4375744671.html
http://www.linuxdevices.com/articles/AT2300227928.html
http://www.linuxdevices.com/articles/AT8912553591.html
http://www.linuxfordevices.com/articles/AT6909538399.html
http://www.linuxfordevices.com/articles/AT9637011703.html
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Deploying-Linux-Embedded-Systems/
cas55
 
Posts: 59
Joined: Thu Jan 02, 2014 3:41 pm

Postby mskoster » Wed Jan 23, 2013 12:00 am

Voor wie hier nu of later nog tegenaan loopt: het verplaatsen van de versgecompileerde modules na "make modules" naar de SD-card staat hier redelijk duidelijk beschreven:
http://en.gnublin.org/index.php/Kernel_compile_%2B_Module_installation

(en dan helemaal onderaan)
mskoster
 
Posts: 9
Joined: Thu Jan 02, 2014 3:28 pm


Return to Aan de slag met Embedded Linux

Who is online

Users browsing this forum: No registered users and 1 guest