搜索
bottom↓
回复: 32

发帖讨论一下学会linux要多久,linux有哪些技术方向

[复制链接]

出0入4汤圆

发表于 2020-9-9 17:35:56 | 显示全部楼层 |阅读模式
本帖最后由 xiaoyigechaos 于 2020-9-9 17:38 编辑

接触linux有半年的时间,跟着原子哥的教程一点一点的学,因为工作中要用到。这是迫于工作压力,才能走的起来,如果是自己学,估计从入门到放弃3个月就够了

Q1:步骤
从各路教程看,linux学习步骤是:
1 裸机(目的是u-boot)----类似于单片机开发吧,了解硬件写bootloader
2 编译内核---- 通常找官方源码,自己配置和编译
3 设备树----配置硬件接口
4 文件系统---根文件系统,有开源的debian之类,也可以自己编译,开始觉得事情少找一个就用,后来发现事越来越多
5 驱动---这个驱动是与insmod 到内核的驱动,这里遇到的问题是 官方提供的驱动,换了内核就要重新编译。。。
6 驱动应用----就这么称呼吧,看到很多学习linux的朋友好多工作在这里开始,前面的步骤基本是拿来走一遍流程就好了
7 应用层开发-----广阔天地,大有作为

Q2:
Q1中的内容深究一下,哪些需要深入学习,哪些不需要
1 u-boot开始觉得能引导就行吧,慢慢的发现他要传递一些环境变量到内核,要根据环境变量来配置如何引导,NFS、TFTP一系列事情,另外,如何把u-boot和内核下载到emmc或者flash中。
2 内核---menuconfig中怎么找到自己需要的配置并开启他,如果这里没有,怎么去增加。这部分目前没有涉及,不了解
3 设备树---- 可能在这里是一个小专题,玩单片机过来的不会太难吧
4 文件系统---- linux一切接文件,修改文件,如何修改,怎么修改等一系列。最近遇到的事情就是我的linux没有图形界面,我要怎么添加呢,添加之后怎么支持触摸来操作呢,卡住了。
5 驱动--这个感觉还好,linux系统里自带了很多,是不是知道流程就行
6 驱动应用----这个资料比较多,不是泰容易放弃,这个 不就是偏向应用层的东西了吗
7 应用层----这个决定了你所在行业

Q3:时间
上面的模块,可能每一个知识点都需要时间和精力,网上资料一大把,填坑方法一大把,但是否适合你的坑呢。很多东西,都是一边走一边看,一边填,一边踩。
比如某次轻信了有人发的blog,改完之后我得ubuntu只能进guest账户了----尴尬,怎么改回去
比如安装某个程序,需要一大堆依赖
比如编译好的库,放好了位置,设置好了环境变量,就是找不到

所以 感觉linux 的知识量,让你无法停止学习的脚步,准备好了吗

Q4:到底要学习哪一块
2016年了,今年一定要把linux弄懂。。。
2017年了,今年一定要把linux弄懂。。。
2018年了,今年一定要把linux弄懂。。。
2019年了,今年一定要把linux弄懂。。。
2020年了,今年一定要把linux弄懂。。。
那么请问,到底要弄懂什么
要怎么弄懂

困惑了,linux宽度--深度太大了

一个小白对linux的认识,大家来讨论讨论吧,我们要怎么攻克他

编辑原因---一不小心按回车发布了

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出250入8汤圆

发表于 2020-9-9 17:40:34 | 显示全部楼层
2020年了,今年一定要把linux弄懂

出0入93汤圆

发表于 2020-9-9 17:48:30 来自手机 | 显示全部楼层
本人从来没有发誓弄懂Linux,而是相反根本不打算弄Linux。但人算不如天算跳进了这个坑,那就直接第7步,现在基于Linux的产品量产好几款了。然而,我还是不懂Linux,仍然不打算弄懂。作为一个工具,能给我产生生产力就好了。

出0入4汤圆

 楼主| 发表于 2020-9-9 17:52:24 | 显示全部楼层
takashiki 发表于 2020-9-9 17:48
本人从来没有发誓弄懂Linux,而是相反根本不打算弄Linux。但人算不如天算跳进了这个坑,那就直接第7步,现 ...

感觉第七步是最明智的,但是单片机转这个是不比较难呢,没有C++基础

我现在也有接触到这部分,大部分C++ 、python 这种

用到很多开源库

还有多线程balabala

都是应用了,内容庞大,资料丰富

出0入0汤圆

发表于 2020-9-9 18:09:26 | 显示全部楼层
xiaoyigechaos 发表于 2020-9-9 17:52
感觉第七步是最明智的,但是单片机转这个是不比较难呢,没有C++基础

我现在也有接触到这部分,大部分C++ ...

从单片机学C语言感觉linux比较高级,然后学linux 搞驱动,各种填坑,搞驱动又觉得做linux应用比较高级,然后学QT搞linux应用,搞应用又觉得linux应用范围这么窄,还是安卓是大趋势,开始搞安卓开发板,弄安卓底层,又觉得太多坑了精力有限,我为什么不直接搞安卓应用开发,然后开始学JAVA,搞了几个demo做个几个程序 就觉得又是一大坑。搞安卓的人太多了,竞争不过。
一句话怎么说来着 敢问路在何方,路其实都在脚下,当前工作做什么就干精通什么。
我觉得如果有业余学精linux的毅力,自己都可以当老板开发产品了。

ps:最近公司可能用到linux 我也想搞linux

出0入0汤圆

发表于 2020-9-9 18:42:58 | 显示全部楼层
跟着项目 学linux 才快 。自学 到最后基本被各种理由搁置了。

出100入101汤圆

发表于 2020-9-9 18:50:48 来自手机 | 显示全部楼层
嵌入linux,比以前热度高了

出100入101汤圆

发表于 2020-9-9 18:55:01 来自手机 | 显示全部楼层
takashiki 发表于 2020-9-9 17:48
本人从来没有发誓弄懂Linux,而是相反根本不打算弄Linux。但人算不如天算跳进了这个坑,那就直接第7步,现 ...

你这有点像使用freertos,单不懂移植,不懂源码类似

出0入0汤圆

发表于 2020-9-9 18:56:00 | 显示全部楼层
还是弄个项目边学边做比较好,linux知识点太多了

出130入20汤圆

发表于 2020-9-9 22:40:56 | 显示全部楼层
Name_006 发表于 2020-9-9 18:09
从单片机学C语言感觉linux比较高级,然后学linux 搞驱动,各种填坑,搞驱动又觉得做linux应用比较高级, ...

哈哈哈哈哈哈,就你说的靠谱。从单片机看,想学LINUX,以为高大上,然后学底层学系统,最后发现特么不如搞应用接触业务层面吃香,驱动的岗位好少大多在原厂,而芯片原厂很多器件驱动都是现成的。然后发现搞LINUX应用还不如去搞安卓和IOS应用,然后又发现搞安卓和IOS的人又太多了。一大通后发现还没单片机好玩,自己搞产品卖卖赚得多。

出0入36汤圆

发表于 2020-9-9 22:50:24 来自手机 | 显示全部楼层
7之前都是在瞎鸡脖搞,新手直接从应用开始。

出190入0汤圆

发表于 2020-9-9 23:30:38 | 显示全部楼层
首先弄本<<unix环境高级编程>>(apue) 当工具书,实际项目中不会的,去APUE里找!先会linux系统应用编程;
很多要弄懂linux的同学,一上来就是uboot,裁剪移植kernel... 坚持不多久就放弃了,其实国内大多数公司,linux底层开发的需求非常少的;
linux开发UI感觉搞不过android,搞QT好像需求也并不多;
所以我个人认为的路线是:linux系统应用 -->了解驱动开发的基本概念 ,会写字符设备驱动 -->  感兴趣的学学QT,搞小工具还是给力 --> 会点java,能搞定android jni开发;

出0入0汤圆

发表于 2020-9-10 02:35:03 来自手机 | 显示全部楼层
这是个哲学问题,首先这是个系统,操作系统需要专门系统学习吗?NO,就像当初用win,安卓,ios一样,自然而然就会了!其次,想干嘛?做应用还是做系统,做应用的话,别管驱动,系统移植之类的,只会C就可以,跑个hello word,yes,你真的学会了,而且别觉得意外!最后,到什么程度,这得先想想你要干啥?就算window,用了二十年设置个打印机也要百度,所以,要用什么学什么,暂时用不上的,不需要去硬啃。

出105入79汤圆

发表于 2020-9-10 02:40:01 | 显示全部楼层
有这个精力,还是去做应用发掘需求吧. Linux移植是芯片原厂的事情.

出0入4汤圆

 楼主| 发表于 2020-9-10 08:46:16 | 显示全部楼层
fengyunyu 发表于 2020-9-9 18:50
嵌入linux,比以前热度高了

感觉是这样,起因可能是因为硬件性能越来越强,另外就是都在搞智能xxx,想快一点,就linux+开源库先跑起来

原子 野火等都在出开发板,韦东山立刻不淡定了

出0入4汤圆

 楼主| 发表于 2020-9-10 08:49:04 | 显示全部楼层
redworlf007 发表于 2020-9-9 22:50
7之前都是在瞎鸡脖搞,新手直接从应用开始。

没错,实际用的比较多的就是6和7,6那部分通用性很高

前5个基本上就是很难学会,耗费精力,投入没有产出,一旦需要找原厂就好了。所以不明白的是为什么开发板教程里都是前五项。。。

感觉我就是这样坑坑挖挖走过来的

出0入4汤圆

 楼主| 发表于 2020-9-10 08:57:38 | 显示全部楼层
knight_sh 发表于 2020-9-9 23:30
首先弄本(apue) 当工具书,实际项目中不会的,去APUE里找!先会linux系统应用编程;
很多要弄懂linux的同学 ...

从应用到驱动应用,感觉对很多人就够了,linux的UI一般要求不是很高吧,从这个路线走到安卓---java 感觉是换坑了

出0入0汤圆

发表于 2020-9-10 09:40:54 | 显示全部楼层
楼主牛逼                        

出0入0汤圆

发表于 2020-9-10 10:02:24 | 显示全部楼层
我看我公司只搞应用都要五年十年的经验才能干下去

出0入0汤圆

发表于 2020-9-10 10:11:00 来自手机 | 显示全部楼层
我相信全世界也没有几个人完全把linux的所有代码完全搞懂,因为这个系统是多人协作搞出来的!所以只专注自己擅长的一面即可!

出0入0汤圆

发表于 2020-9-10 10:21:39 | 显示全部楼层
这些系统设计初衷是给人用的,方便开发应用。  若非要去研究底层,你就很难产生经济效益,也难有成就感。  

出190入0汤圆

发表于 2020-9-10 11:06:35 | 显示全部楼层
xiaoyigechaos 发表于 2020-9-10 08:57
从应用到驱动应用,感觉对很多人就够了,linux的UI一般要求不是很高吧,从这个路线走到安卓---java 感觉 ...

其实android JNI开发还是和linux系统应用开发差不多,只是它要连接C/C++与Java(android),所以了解java是有必要的;
现在很多产品都使用android,纯linux应用开发也不多了

出0入4汤圆

 楼主| 发表于 2020-9-10 12:23:41 | 显示全部楼层
knight_sh 发表于 2020-9-10 11:06
其实android JNI开发还是和linux系统应用开发差不多,只是它要连接C/C++与Java(android),所以了解java是 ...

所以linux 相关应用层开发也很广阔,还是要先给自己画个圈才能做的下去

出100入101汤圆

发表于 2020-9-11 09:29:56 | 显示全部楼层
xiaoyigechaos 发表于 2020-9-10 12:23
所以linux 相关应用层开发也很广阔,还是要先给自己画个圈才能做的下去

22楼说“纯linux应用开发也不多了”,和你说的“linux 相关应用层开发也很广阔”,相得益彰!

出25入84汤圆

发表于 2020-9-11 09:46:41 | 显示全部楼层
看我的帖子,也许会有点收获
https://www.amobbs.com/thread-5715681-1-1.html

出0入25汤圆

发表于 2020-9-11 11:20:19 来自手机 | 显示全部楼层
用python 跨平台。是否linux 无所谓

出0入0汤圆

发表于 2020-9-15 21:56:51 | 显示全部楼层
个人觉得,原子哥的linux教程不太适合于新手学,应该直接重点第6步。
现代操作系统最重要的特点,就是多进程、多线程。第7步的应用层开发,就是规划业务到各个进程、线程中。
翻遍教程,没有一个类似creat 1000个线程 或者open 1000个套接字的实验,来测试下多任务调度的性能。
弱UI,多任务处理,高并发,面向服务器,才是Linux独步天下的应用领域。

出0入59汤圆

发表于 2020-9-15 22:34:44 | 显示全部楼层
哄蒙来了,楼主响应国家号召,去学习哄蒙系统吧;   linux没落了

出0入4汤圆

 楼主| 发表于 2020-9-16 09:27:13 | 显示全部楼层
bigharpoon 发表于 2020-9-15 21:56
个人觉得,原子哥的linux教程不太适合于新手学,应该直接重点第6步。
现代操作系统最重要的特点,就是多进 ...

是的,学习半年,觉得他们做开发板的都在引导如何从头开发,基于板子
另一个方向 应用开发,就用PC ubuntu 或者树莓派就好了

出0入4汤圆

 楼主| 发表于 2020-9-16 09:28:52 | 显示全部楼层
polarbear 发表于 2020-9-15 22:34
哄蒙来了,楼主响应国家号召,去学习哄蒙系统吧;   linux没落了

跑步进场 跑步进场,还是壮士先行吧

出5入10汤圆

发表于 2020-9-16 10:50:13 | 显示全部楼层
一般人直接第7部,从第一步走的话,直接就是入门到放弃,先搞起来产品,然后在研究底层

出100入101汤圆

发表于 2020-9-16 10:57:21 | 显示全部楼层
chen849928055 发表于 2020-9-16 10:50
一般人直接第7部,从第一步走的话,直接就是入门到放弃,先搞起来产品,然后在研究底层 ...


单纯的linux下应用多么?一般是什么场景,什么类型的产品?安防,IOT?

出5入10汤圆

发表于 2020-9-16 11:40:35 | 显示全部楼层
fengyunyu 发表于 2020-9-16 10:57
单纯的linux下应用多么?一般是什么场景,什么类型的产品?安防,IOT?

应用比驱动岗位多不少的,看行业了,安防用的多,IOT不是很清楚
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 09:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表