手把手教你搭建ARM64 QEMU环境
在上篇介绍了ARM QEMU环境搭建过程后,让我们继续学习如何搭建ARM QEMU开发环境。源码源码 首先,解析准备开发环境:你的内核内核PC系统:Windows
虚拟机软件:VMware
虚拟机操作系统:Ubuntu .
目标模拟的位CPU:Cortex-A
使用版本:qemu-8.2.0、Linux Kernel 5..和busybox-1..1
构建步骤如下:从qemu官网下载并解压qemu-8.2.0源码。源码源码
确保你的解析诚信网源码主机Python版本大于3.8,如需升级,内核内核访问python官网下载源码。源码源码
安装所需的解析Python依赖和glib2.0环境。
进入qemu目录,内核内核配置源码,源码源码创建编译目录并进行配置。解析
从kernel.org获取Linux kernel 5.源码,内核内核解压并编译生成Image文件。源码源码
同时,解析编译kernel modules,存放在指定目录。
使用busybox制作根文件系统:下载最新版本源码,设置交叉编译工具链,重新配置并安装。
创建rootfs目录,将busybox安装内容复制到其中,包括设置环境变量和设备节点。神马pc源码
在/etc/init.d/rcS脚本中,rcS会挂载文件系统、处理热插拔和设置eth0的静态IP。
理解并配置其他配置文件如/etc/fstab和/etc/profile。
如果需要,可以尝试基于ram的内存文件系统,使用cpio工具制作initramfs或gzip压缩。
如果需要持久化,制作基于硬盘的文件系统。
最后,使用qemu命令启动内核并通过串口登录。
对于更详细的步骤和示例,可以参考我的文章《Linux随笔录》,回复关键字"busybox"获取相关资源。作者潘小帅,热衷于Linux底层技术,喜欢分享原创文章,也欢迎关注微信公众号Linux随笔录,一同探讨技术与生活。感谢您的支持和关注!å¦çå°ç½å¦ä¹ Pythonçç¥è¯ç¹
Pythonå ¥é¨å¿ å¤ç¥è¯ç¹1ãä»ä¹æ¯Python? 使ç¨Pvthonçä¼ç¼ºç¹æåªäº?
Pythonæ¯ä¸ç§é¢å对象ç解éæ§ç交äºå¼è¯è¨ï¼å¸¦æ对象ã模åã线ç¨ãå¼å¸¸åå åèªå¨ç®¡ççæºå¶ã使ç¨Pythonçä¼ç¹æ:ç®åãæå¦ã轻便å¯ç§»æ¤ãå¯æ©å±ãå¯è¯»æ§å ·æå¤ç§å 建æ°æ®ç±»åãå¼æºççã使ç¨Pythonç缺ç¹æ:è¿è¡éåº¦æ ¢ï¼ä»£ç ä¸è½å å¯(解éæ§è¯è¨ï¼åå¸pythonåºç¨åªè½åå¸æºä»£ç ï¼ä¸åCåå¸ç¼è¯åçåºç¨æ件)
2ãä»ä¹æ¯PEP 8?
PEP8æ¯ä¸ç§ç¼ç è§èï¼æ¯ä¸ç³»åå ³äºå¦ä½è®©Python代ç æ´å å ·æå¯è¯»æ§çç¼ç 建议ã
3ãä»ä¹æ¯åºåååååºåå?
åºåå:å°å¨å åä¸çåé转为å¯åå¨æä¼ è¾çè¿ç¨ãåºç¨JSONä¼ è¾ï¼åºåå为ç»ä¸æ ¼å¼isonååºåå:ä¸åºååçè¿ç¨ç¸åPickle模åå 许æ们å°Python对象转æ¢æä¸ä¸ªstring表示çä¿¡æ¯ï¼å¹¶ä¸å¯ä»¥ä½¿ç¨dumpå½æ°å°å ¶ä¿åå°ä¸ä¸ªæ件ä¸å»ï¼è¿æ ·çè¿ç¨ç§°ä¸ºåºååãè使ç¨æ件ä¸ä¿åç对象信æ¯éæPython对象çè¿ç¨ç§°ä¸ºååºååã
4ãPythonæ¯å¦ä½è¢«è§£éæ§è¡ç?
Pvthonæ¯ä¸ç§è§£éåè¯è¨ï¼å®å¯ä»¥ç´æ¥ä»æºä»£ç è¿è¡ç¨åºãç¨åºåç¼åçæºä»£ç é¦å 转åæä¸ç§ä¸é´è¯è¨ä»£ç ï¼ç¶åå被转æ¢æè½å¤ç´æ¥æ§è¡çæºå¨è¯è¨ä»£ç ã
5.Pythonæ¯å¦ä½è¿è¡å å管çç?
Pythonå å空é´æ¯ä»¥Pythonç§æå çå½¢å¼è¿è¡ç®¡ççãææçPython对象åæ°æ®ç»æé½åæ¾å¨ä¸ä¸ªç§æå ä¸ã解éå¨å¯ä»¥è®¿é®ç§æå ï¼èç¨åºåä¸å¯ä»¥ãå°Pvthonå 空é´ä¸çå ååé ç»Pvthon对象çå·¥ä½æ¯ç±Pythonå å管çå¨å®æçãèå æ ¸APIåä¼æä¾ç»ç¨åºåä¸äºç¸å ³çå·¥å ·æ¥å®ææ¶åå°å åçç¼ç å·¥ä½ã
6.è½å¤æ¾å°ç¨åºä¸çbugè¿è¡éæåæçå·¥å ·æåªäº?
Pythonè¿å ç½®åå¾åæ¶å¨ï¼ä»èè¿è¡åæ¶éæ¾å åå°å 空é´è½å¤æ¾å°ç¨åºä¸çbugè¿è¡éæåæçå·¥å ·æåªäº?6ãPyCheckeræ¯ä¸ç§è½å¤åç°Pythonæºä»£ç ä¸çbugå¹¶å¯¹å ¶ä¸ç代ç é£æ ¼åå¤æ度è¿è¡è¦åçéæåæå·¥å ·ãå¦å¤ä¸ç§å·¥å ·æ¯Pylintï¼å®è½å¤éªè¯æ¨¡åæ¯å¦æ»¡è¶³ç¼ç æ åã
7ãä»ä¹æ¯Pythonè£ é¥°å¨?
ç¨æ¥è£ 饰ä¸ä¸ªå½æ°ä»è使è¿ä¸ªå½æ°å¨ä¸ä¿®æ¹æ¬èº«çå½æ°å®ä¹å¤ï¼å¨æ产çé¢å¤çåè½;è£ é¥°å½æ°çå ¥å为éè¦è¢«è£ 饰çå½æ°ãè£ é¥°å¨æ¬è´¨ä¸æ¯ä¸ä¸ªè¿åå½æ°çé«é¶å½æ°ä¸ä¸ªPythonè£ é¥°å¨æ¯æ们å¨ç¬¦åPythonè¯æ³çåæ¶åæ¹ä¾¿å°å¯¹å½æ°åçä¸äºç¹å®çä¿®æ¹ã
8ãå表ãå ç»ãéåãåå ¸çåºå«æ¯ä»ä¹?
å表:å ç´ å¯å(ä»»ä½æ°æ®ç±»å)ï¼æåº(å¯ç´¢å¼)append/insert/pop;å ç»:å ç´ ä¸å¯åä½å ç´ ä¸çå¯åå ç´ æ¯å¯åç;æåº(å¯ç´¢å¼);èä¸ç»å¯ä»¥è¢«æ£åï¼ä¾å¦ä½ä¸ºåå ¸çé®ãéå:æ åº(ä¸å¯è¢«ç´¢å¼)ãäºå¼åå ¸:æ åºï¼é®å¼å¯¹(key: value)ï¼keyå¯ä¸ä¸å¯éå¤
9ãææ ·ç解åå ¸åå表?
å®ä»¬æ¯ä¸ç§ç¨æ¥å建å¯å对象çè¯æ³ç»æï¼æ°æ®å®¹å¨dicæå ¥ãæ¥æ¾é度æ¯listå¿«ï¼ä¸ä¼ékeyçå¢å èå¢å ï¼ä½listä¼éçå ç´ çå¢å èå¢å (å移é)
ãåæ°æ¯å¦ä½éè¿å¼æè å¼ç¨ä¼ éç?
pythonä¸ç¡®å说åºè¯¥æ¯âä¼ å¯¹è±¡å¼ç¨âçæ¹å¼ï¼å¼ç¨å¯¹è±¡ä¼ éãä¸åç对象ï¼åæ°çå¼ç¨å¦æå½æ°æ¶å°çæ¯ä¸ä¸ªå¯å对象(æ¯å¦å表ãåå ¸)çå¼ç¨ï¼åå¯ä¿®æ¹å¯¹è±¡çåå§å¼==ç¸å½äºâå¼ç¨ä¼ éâæ¹å¼å¦æå½æ°æ¶å°çæ¯ä¸ä¸ªä¸å¯å对象(æ¯å¦æ°åãå符ãå ç»)ï¼å°±ä¸è½ç´æ¥ä¿®æ¹åå§å¯¹è±¡æåçå¼==ç¸å½äºâå¼ä¼ éâæ¹å¼ã
Python是什么?它有何用途?
Python是什么呢?
Python是一种全栈的开发语言,你如果能学好Python,opencv源码路径前端,后端,测试,大数据分析,爬虫等这些工作你都能胜任。
当下Python有多火我不再赘述,Python有哪些作用呢?
据我多年Python经验总结,Python主要有以下四大主要应用:
网络爬虫
网站开发
人工智能
自动化运维
接下来和大家聊聊这几个方面:
一、网络爬虫
首先,
什么叫网络爬虫?
网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。
爬虫有什么用?
做垂直搜索引擎(google,baidu等).
科学研究:在线人类行为,在线社群演化,人类动力学研究,计量社会学,复杂网络,数据挖掘,等领域的实证研究都需要大量数据,网络爬虫是收集相关数据的利器。
偷窥,期权app源码hacking,发垃圾邮件……
爬虫是搜索引擎的第一步也是最容易的一步。
用什么语言写爬虫?
C,C++。高效率,快速,适合通用搜索引擎做全网爬取。缺点,开发慢,写起来又臭又长,例如:天网搜索源代码。
脚本语言:Perl, Python, Java, Ruby。简单,易学,良好的文本处理能方便网页内容的细致提取,但效率往往不高,适合对少量网站的聚焦爬取
C#?
为什么眼下最火的是Python?
个人用c#,java都写过爬虫。区别不大,原理就是利用好正则表达式。只不过是平台问题。后来了解到很多爬虫都是用python写的,于是织信源码便一发不可收拾。Python优势很多,总结两个要点:
1)抓取网页本身的接口
相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)
此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆、模拟session/cookie的存储和设置。在python里都有非常优秀的第三方包帮你搞定,如Requests,mechanize
2)网页抓取后的处理
抓取的网页通常需要处理,比如过滤html标签,提取文本等。python的beautifulsoap提供了简洁的文档处理功能,能用极短的代码完成大部分文档的处理。
其实以上功能很多语言和工具都能做,但是用python能够干得最快,最干净。Life is short, u need python.
二、网站开发
那开发网站需要用到哪些知识呢?
1、python基础,因为用python开发的,所以python指定要会,最起码你也得会条件判断,循环,函数,类这些知识;
2、html、css的基础知识,因为要开发网站,网页都html和css写的,最起码这些知识你得会,就算不会写前端,开发不出来特别漂亮的页面,网站,最起码要能看懂html标签是;
3、数据库基础知识,因为开发一个网站的话,数据存在哪里,就是在数据库里,那你最起码要会数据库的增删改查吧,要不然怎么存数据,取数据呢
上面这些知识会的话,开发一个简单的小站就没有问题了,如果想开发比较大型的网站,业务逻辑比较复杂的,那就得用到其他的知识了,比如说redis、MQ等等。
三、人工智能
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”,也可能超过人的智能。
Python正在成为机器学习的语言。大多数机器语言课程都是使用Python语言编写的,大量大公司使用的也是Python,让许多人认为它是未来的主要编程语言。
有些人觉得PYTHON效率底,说他不能支持多线程,好吧,这个还有点说对了,但是我想问,看这篇文章的人有几个做过搜索引擎开发?有几个做个上亿PV的并发网站开发?有几个看过LINUX内核源码?如果没有,乖乖先把入门语言学会吧
四、自动化运维
Python能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的WEB界面,只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来。
Python有什么缺点呢?
1. - 运行速度慢,因为Python是解释型语言,是一种高级语言,代码会在执行的时候,一行一行的使用解释器翻译成底层代码,翻译成机器码,而这个过程非常耗时,所以他运行过程中,比很多语言的代码都慢了很多。
- 线程不能利用多CPU,这是Python最大的确定,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。
Python的优缺点可以看看传智播客的社区,里面很多技术老师写的相关文章。并且有学习线路图适合小白学习,每个板块下面都有配套视频。
2024-11-14 12:36
2024-11-14 11:23
2024-11-14 11:03
2024-11-14 10:59
2024-11-14 10:52