LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 02-13-2023, 07:01 PM   #1
toof
LQ Newbie
 
Registered: Feb 2023
Location: Pacific Northwest
Distribution: Ubuntu 22.04
Posts: 1

Rep: Reputation: 0
From lower intermediate to Kernel-level within 1 year??


Main Request

I need to know the best/fastest/most efficient path/resource(s) to get from what I consider to be lower intermediate Linux user to kernel level within 1 year from today. NOTE: Because of my job I will have hours every day. I want to be someone who can answer many questions on a platform like this instead of asking the questions, and not for the glory, just to be competent.

Context and Background

I recently transitioned from a cybersecurity teacher to a Linux and Network Admin for a very complex network to say the least. Within one year they want me to be at the level of making kernel-level changes to Linux (unspecified distro).

2 years of teaching cybersecurity including ethical hacking. 1 year full stack web dev, Net+, Sec+, A+, and others. BS in cybersecurity and information assurance.

Current Abilities

I have no issues getting around on the terminal, I know what the main directories are used for. I am comfortable installing software with apt, apt-get, yum and so on. I have started VPNs, deployed Django web apps on linux servers in EC2. I have most of the terminal basics down. Not advanced at anything (basics of grep, find, locate, top). I have started services and know the basics of bash scripting. Aware of cron jobs although I have not implemented any myself.

I taught ethical hacking with Kali and I can say that my main OS at this job is Ubuntu right now although it can be any distro I so choose. I have been using Ubuntu ~50% of the time personally for the last year for basic tasks.
 
Old 02-14-2023, 10:26 PM   #2
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416
Blog Entries: 43

Rep: Reputation: 36
Well! I have the goal of knowing that much too, except in the scope of my home network, plus some businesses in which I plan to start or will become employed at.

As for the timeframe, good start, I don't know that much yet, though in different ways, know a lot. But what I would tell them, is, "I'll try, but be willing to give me longer if I need 2 years". 2 years, even from where you are, sounds a bit more realistic, with the first one being an expert at the GUI, and inner workings, a little beyond what an "expert" at Windows would need to know, but applied to Linux, instead.

The whole second year, I'd be learning about programming and kernel workings. If I was exactly where you describe, that's what I would say is more reasonable. On the other hand, you can probably do a lot of work for them with just that knowlege.

If you want a place to look, first try my list of general computer questions, not all of which, I've been the reciever of. Check it out at http://smileynetmain.createaforum.com. As many of the questions can be found here, on this site as well, take a look and just browse this website, which you're on.

Second, try to do a google search for "operating system + create your own". Although that goal is not yours, understanding basic content there, and especially a "Hello World", OS, will help you understand Linux, if you try to "read" it.

Before that, I'm assuming you have a basic knowlege of C++ and C, and ASM. If not, better do that before learning how to create an OS.

All those, would be essential knowlege, and not discrediting what you've already done either, but it would be great to know all of that, in order to begin to be a "kernel expert". Other than that, you are doing fine with what you are learning, and it's a great start! If you could also teach a class later on it, that'd be great, as I know "different" stuff than you. I don't know that I know less than you, but just differnet, when it comes to Linux.

Good luck! I'll say a little prayer for you.
 
1 members found this post helpful.
Old 02-15-2023, 01:01 AM   #3
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,838

Rep: Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308Reputation: 7308
There is no best way. At least there is no general answer to that question, what is good for you probably won't work for me. But anyway, for me the best is to practice. The result obviously will depend on you, if you are really interested.
And actually I don't really know what do you mean by kernel level. Do you want to build customized kernels, or do you want to implement drivers/modules, or what?

You can surely ask here, at LQ.
 
Old 02-15-2023, 07:50 AM   #4
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416
Blog Entries: 43

Rep: Reputation: 36
He's right! There is no best way! I only could tell you what I thought, but it may or may not be true for you. Do you really want to do it? That will influence whether you CAN do it. Please DO explain what YOU mean by, "kernel level". That will help a little for things, but even when it's explained, it's a bit individual. I could only tell you what would work for me, which I have.
 
Old 02-15-2023, 08:08 AM   #5
Mike_Walsh
Member
 
Registered: Jul 2017
Location: King's Lynn, UK
Distribution: Nowt but Puppies....
Posts: 660

Rep: Reputation: 362Reputation: 362Reputation: 362Reputation: 362
I have to agree with des_a. There can be no "set" time-limit for learning this stuff; we all have different abilities, and as individuals we all learn at a different pace. Different people will in fact 'learn' stuff in alternate ways; one's brain will be wired-up in such a way that they're able to short-circuit a lot of the basic & intermediate steps, and more or less deduce the answers without needing a lot of info. Some take a lateral approach, and often come at problems from an unexpected direction. Another will only be able to achieve the end goal by steadily & diligently plodding through course work, step by step (this applies to more folks than would care to admit to such).

And so on, and so forth...

You have to find a comfortable pace that you yourself are able to learn at. I think it's very unrealistic of an employer to "demand" that you, as an individual, MUST absorb 'x' amount of material in 'y' amount of time with FULL comprehension.....or else. Although if a company's personnel consists almost exclusively of 'high-achievers', I guess it's only natural that the recruiters wouldn't want newcomers to hold the rest of the team back.

(*shrug*)

Good luck, anyway.


Mike.

Last edited by Mike_Walsh; 02-15-2023 at 08:11 AM.
 
Old 02-16-2023, 04:30 PM   #6
iPad
Member
 
Registered: Oct 2016
Distribution: iPadLinux
Posts: 81
Blog Entries: 1

Rep: Reputation: 45
Study ideas

man 2 intro ; man strace

Applies to any OS: https://en.m.wikipedia.org/wiki/System_call
Wikipedia is always a good read: https://en.m.wikipedia.org/wiki/File...el_diagram.png

If you like reading books, look for:
Linix system (calls/programming) and Linux kernel
Do you have a large city library near you or like reading PDFs, maybe from internet (ISBN) search?
I got this from my local library plus found a .pdf on the web: https://www.amazon.com/Practical-Lin.../dp/171850196X
Definitely thoroughly study 'How Linux Works' book (pdf's all over the internet)
Let us know what you find that works for you.

Code up simple programs that demonstrate important syscalls (StackExchange may have examples)

Another parallel path is .config like: https://www.linuxquestions.org/quest...ne-4175716205/
$1-500 reward to 172 56477 for that! I finally found https://github.com/torvalds/linux/bl...6_64_defconfig
But I can't find anything that actually lists all of the 8000-ish CONFIG_* Kbuild parameters in numerous Kconfig files.

The next and much harder level is to modify/patch the kernel code, then write a syscall / driver. The tiniest should only take days - weeks.

Here's a career-oriented web search:
list of top most important topics to know in computer science information technology

Looking forward to hearing about your journey.

Last edited by iPad; 02-27-2023 at 05:57 PM. Reason: Reward
 
Old 02-16-2023, 04:48 PM   #7
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,223

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Use this series of videos to learn the POSIX API. I recommend at least noting down the signatures of the functions they go over:

https://www.youtube.com/watch?v=BsB9...Ds9zIiBg2Wug0z

The kernel is the layer behind the POSIX API and, so I recommend knowing the POSIX API first.

When you get to the kernel (next), I still recommend that Understanding the Linux Kernel book.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
question: 'onclick' within 'onmouseover' within 'form' within 'table' - how is it possible? rblampain Programming 4 04-25-2017 08:49 PM
[SOLVED] Need help with intermediate level administrator tasks ahmedwaqas92 Linux - Newbie 1 10-13-2012 01:35 PM
[SOLVED] Regular expression needed to write [[:lower:]] to [[:lower:]] and [[:upper:]] rgdacosta Programming 13 04-05-2012 12:50 PM
"Intermediate" Level Distro? PoopLoops Linux - Distributions 5 04-12-2009 09:14 PM
emacs in run level 3 then switch to X (level 7) then back to level 3 dsoliver Slackware 3 09-01-2006 03:31 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 07:22 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration