00:22.21 | *** join/#elinux infobot (ibot@rikers.org) |
00:22.21 | *** topic/#elinux is http://eLinux.org/ || Ask anything; it may take 24+ hours to get a response. Mailing lists -> http://elinux.org/ELinuxWiki:Mailing_List ; Logs available at ibot.rikers.org |
00:22.21 | *** mode/#elinux [+o infobot] by ChanServ |
04:55.39 | *** join/#elinux RagBal (~RagBal@82-168-15-181.ip.open.net) |
05:00.32 | *** join/#elinux vstehle (~vstehle@rqp06-1-88-178-86-202.fbx.proxad.net) |
07:41.56 | *** join/#elinux vstehle (~vstehle@rqp06-1-88-178-86-202.fbx.proxad.net) |
10:04.30 | *** join/#elinux t0mmy (~tprrt@ram31-1-82-234-79-177.fbx.proxad.net) |
15:39.29 | *** join/#elinux Mqx_ (~Mqx_@176.151.125.142) |
15:48.42 | Mqx_ | Hi everyone. At the beginning, i apologize for my bad langage, but english isn't my native speaking. I'm student and i search some information about Embedded Linux... Especially, when we want to use it ? With wich langage ? |
15:49.03 | Mqx_ | It's only C ? Or we can do "system programming" with C++ ? |
15:53.45 | Mqx_ | If i'm not in the right channel, can you give me one more appropriate ? :) |
15:57.25 | jn__ | Mqx_: C++ is fine, if you only use language features that don't bloat the binary size too much |
15:57.59 | jn__ | the linux kernel is written in C and bit tiny bit of assembly, and that won't change |
15:58.58 | jn__ | embedded linux is used in embedded systems where the designers decided that linux's features are worth using |
16:18.47 | Mqx_ | Okay, thanks :) |
16:19.24 | Mqx_ | So, learn C++ is a good way to learn embedded linux ? |
16:20.17 | jn__ | i wouldn't say that |
16:20.20 | Mqx_ | --> If i learn the modern C++ ( C++11 and higher ), it's a good way if i want to specialize in embedded Linux after ? |
16:21.27 | jn__ | rather, setting up/running/using linux on an embedded system (regardless of the programming languages of your applications) is a good way to learn about embedded linux |
16:23.31 | jn__ | knowing modern C++ can't really hurt, i think. But if you want to do something with linux (the kernel) or any common low-level userspace libraries, you'll need to know C as well |
16:23.48 | Mqx_ | Okay |
16:23.55 | jn__ | s/something/something special/ |
16:23.56 | Mqx_ | I really like the C langage |
16:24.34 | Mqx_ | Actually, i do my internship in embedded programming ( C in avr board, with no OS ) |
16:24.53 | jn__ | ok, then you're familiar with C already |
16:24.59 | Mqx_ | Yep |
16:25.44 | Mqx_ | One of my co-worker said me C++ is the best way if i want to specialize in embedded programming and system programming |
16:26.51 | jn__ | again, i wouldn't support that claim |
16:27.31 | jn__ | but C++ is interesting, and if you want to use it on embedded linux systems, go ahead and do that |
16:27.43 | Mqx_ | I really like to devellop some driver and low-level library, but i'm a beginners. I don't know if there are some "common structure" for a driver |
16:29.04 | jn__ | drivers can live either in the kernel, or in userspace. most drivers on a linux system live in the kernel. |
16:29.44 | jn__ | if you want to get a rough idea about kernel drivers, i'd suggest that you look at some of them |
16:29.46 | Mqx_ | ( thanks for your answers :) ) |
16:29.55 | Mqx_ | Okay |
16:30.14 | jn__ | https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers |
16:30.34 | Mqx_ | Somebody told me, try to understand some basic gnu library is a good way to practice |
16:30.43 | Mqx_ | like the glibc |
16:30.54 | jn__ | it won't be easy to understand everything they do, but without a first impression, you can ask deeper questions |
16:31.32 | Mqx_ | okay :) |
16:31.57 | jn__ | i personally wouldn't like to read glibc code |
16:32.00 | Mqx_ | Further, can i get a job with this specialities ? |
16:32.05 | Mqx_ | *specialitie |
16:32.16 | jn__ | yes |
16:34.57 | jn__ | i don't know about any general "embedded linux" job offerings, but (experienced) kernel developers seem to have a good chance of finding a job. 80% of the commits in the linux kernel are from companies (according to the "Linux Kernel Development Report", i think) |
16:39.36 | Mqx_ | Okay :) |
16:40.15 | Mqx_ | But to do kernel commit, i need really strong background in C, system programming and in the mechanism of an OS, rigth ? |
16:40.19 | jn__ | a company in my city uses C++ on embedded linux systems to do some kind of Radar signal processing |
16:40.26 | Mqx_ | oh nice :) |
16:40.32 | Mqx_ | Where are you from? :) |
16:41.12 | jn__ | Germany, Aachen |
16:41.33 | jn__ | https://www.kernel.org/doc/html/latest/index.html <-- this is quite useful |
16:48.43 | Mqx_ | Thanks :) |
16:49.02 | Mqx_ | i come from Belgium, Liège (if you know) |
16:50.16 | jn__ | yes, it's not far from here |
16:50.30 | Mqx_ | yes |
16:50.55 | Mqx_ | i can go to Aachen with Thalys ^^ |
16:52.16 | Mqx_ | So, i'm really glad to your answers :) I need to leave now |
16:52.25 | Mqx_ | Thanks you, you help me a lot ! |
16:54.13 | jn__ | ok, bye |
17:15.16 | Mqx_ | I'm back |
17:15.35 | Mqx_ | Do you know the KernelNewbies website ? |
17:19.09 | jn__ | yes |
17:19.45 | jn__ | but AFAIK it isn't really active anymore |
17:20.48 | Mqx_ | afaik ? |
17:21.07 | jn__ | AFAIK = as far as i know |
17:21.28 | jn__ | ok, it's more active than i tought |
17:22.12 | jn__ | the kernelnewbies mailing list sees a good amount of activity per month: https://lists.kernelnewbies.org/pipermail/kernelnewbies/2017-March/thread.html |
17:22.21 | jn__ | the irc channel is almost dead, though |
17:22.41 | Mqx_ | Okay |
17:22.45 | Mqx_ | thanks :) |
17:23.01 | Mqx_ | So if i want to learn, i don' twant to pass with kernelnewbies to study |
17:25.32 | jn__ | kernelnewbies is a useful resource, but the information in its wiki may be outdated |
17:26.36 | Mqx_ | <PROTECTED> |
17:26.47 | Mqx_ | some book can be helpfull N |
17:26.48 | Mqx_ | ? |
17:27.07 | jn__ | probably |
17:27.15 | jn__ | i don't have a linux book |
17:27.48 | Mqx_ | Actually, i have the "C Linux system programming" writen by Christian Blaess. He describe all of the posix interface |
17:28.01 | jn__ | if you want to write kernel drivers, LDD3 is worth looking at |
17:28.39 | jn__ | sounds useful |
17:29.21 | Mqx_ | :) thanks |
17:29.36 | Mqx_ | I think i can find it on internet, rigth ? |
17:34.51 | jn__ | yes: https://lwn.net/Kernel/LDD3/ |
17:39.30 | Mqx_ | :) thanks |
17:39.46 | jn__ | if you want a single pdf of the whole book, use pdfjoin or get https://ipfs.io/ipfs/QmT4F1MwbZ4rsRHMM3S9JVVFHk5JKyytTLhxPd4pz1CmCM |
17:42.24 | Mqx_ | Thanks i go download that |
17:49.45 | jn__ | the biggest problem with LDD3 is that the internal API of linux changed a lot since it was written (and it keeps changing) |
17:50.06 | jn__ | but the general concepts should still be applicable |
17:57.35 | Mqx_ | okay |
17:57.45 | Mqx_ | jn__, really thanks for your advce :) |
17:57.52 | Mqx_ | *advice |
18:50.33 | *** join/#elinux Mqx_ (~Mqx_@176.151.125.142) |
19:07.25 | *** join/#elinux russ (foobar@47.145.218.162) |
19:07.25 | *** mode/#elinux [+o russ] by ChanServ |
20:27.15 | *** join/#elinux Mqx_ (~Mqx_@176.151.125.142) |
22:22.51 | *** join/#elinux dave0x6d (uid190567@gateway/web/irccloud.com/x-fcycchvpmwpxpodd) |
22:33.45 | *** join/#elinux Mqx_ (~Mqx_@176.151.125.142) |
23:15.43 | *** join/#elinux likewhoa (~likewhoa@s2.maserver.com) |