嵌入式#树莓派#002#树莓派5通过串口调试器输出内核启动日志
本文基于树莓派5和UART Debugger串口调试器,使用串口登录树莓派以及打印Raspberry Pi OS的启动日志。
本文基于树莓派5和UART Debugger串口调试器,使用串口登录树莓派以及打印Raspberry Pi OS的启动日志。
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| 防火墙和VPN技术与实践 | 9787115594723 | 李学昭 | 人民邮电出版社 | 2022-11-01 | |
| 交换机.路由器.防火墙(第3版) | 9787121252044 | 刘晓辉 | 电子工业出版社 | 2015-01-01 | P,W |
| 华为防火墙技术漫谈 | 9787115390769 | 徐慧洋/白杰/卢宏旺 | 人民邮电出版社 | 2021-01-01 | P,W |
| Linux防火墙 第4版 | 9787115436337 | [美]史蒂夫.苏哈林 | 人民邮电出版社 | 2016-11-01 | P,W |
| Designing and Implementing Linux Firewalls | 9781904811657 | Lucian Gheorghe | Packt Publishing | 2006-10-31 | P |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| Linux内核安全模块深入剖析 | 9787111549055 | 李志 | 机械工业出版社 | 2016-12-01 | P |
| Linux系统安全:纵深防御、安全扫描与入侵检测 | 9787111632184 | 胥峰 | 机械工业出版社 | 2019-07-01 | |
| Bash网络安全运维 | 9787111654032 | [美]Paul Troncone/Carl Albing | 机械工业出版社 | 2020-06-01 | JB |
ChromiumOS是谷歌的一款云操作系统,秉承了Chrome浏览器快速、简洁、安全的特性。相比Windows、Mac OS等传统的本地操作系统来说,一种新的、应用“云计算”来实现大部分功能、本地计算机只存储少量信息的新操作系统模式渐渐崭露头角。Chromium OS就是这样的一款轻量型、云计算为主的操作系统。目前Google与多家一线终端制造商合作开发出了基于ChromiumOS的ChromeBook系列产品,比如三星的Series 5系列。
本文目标 目标1:原生ChromiumOS的编译步骤、方法和注意事项 目标2:更换原生ChromiumOS的开机动画 目标3:简述ChromiumOS的编译原理
| 网站 | 链接 |
|---|---|
| Chromium官方网站 | https://www.chromium.org |
| ChromiumOS官方网站 | https://www.chromium.org/chromium-os |
| ChromiumOS代码 | https://chromium.googlesource.com/chromiumos |
| ChromiumOS文档入口 | https://chromium.googlesource.com/chromiumos/docs/ |
| ChromiumOS文档 | https://chromium.googlesource.com/chromiumos/docs/+/HEAD/README.md |
| ChromiumOS磁盘映像结构 | https://chromium.googlesource.com/chromiumos/docs/+/HEAD/disk_format.md |
| ChromiumOS启动 | https://www.chromium.org/chromium-os/chromiumos-design-docs/boot-design |
龙芯中科技术股份有限公司
龙芯中科面向国家信息化建设需求,面向国际信息技术前沿,以创新发展为主题、以产业发展为主线、以体系建设为目标,坚持自主创新,全面掌握CPU指令系统、处理器IP核、操作系统等计算机核心技术,打造自主开放的软硬件生态和信息产业体系,为国家战略需求提供自主、安全、可靠的处理器,为信息产业的创新发展提供高性能、低成本的处理器和基础软硬件解决方案。
龙芯中科主营业务为处理器及配套芯片的研制、销售及服务,主要产品与服务包括处理器及配套芯片产品与基础软硬件解决方案业务。目前,龙芯中科基于信息系统和工控系统两条主线开展产业生态建设,面向网络安全、办公与业务信息化、工控及物联网等领域与合作伙伴保持全面的市场合作,系列产品在电子政务、能源、交通、金融、电信、教育等行业领域已获得广泛应用。
龙芯作为国产处理器的代表公司,在业务前景、技术深度以及生态建设方面,都走在其他公司之前,是咱们国产处理器的中流砥柱。我关注龙芯比较久了,为表示对龙芯的热爱和支持,这里开个博文,及时收集龙芯的相关动态。
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| 编译系统透视:图解编译原理 | 9787111498582 | 新设计团队 | 机械工业出版社 | 2016-04-01 | P,W |
| 深入分析GCC | 9787111556329 | 王亚刚 | 机械工业出版社 | 2017-02-01 | P,W |
| GCC技术参考大全 | 9787302088431 | [美]格里菲斯 | 清华大学出版社 | 2004-06-01 | P |
| GNU gcc嵌入式系统开发 | 9787811248142 | 董文军 | 北京航空航天大学出版社 | 2010-03-01 | P |
| 高级C/C++编译技术(典藏版) | 9787111717300 | 米兰·斯特瓦诺维奇 | 机械工业出版社 | 2022-12-01 | W |
apt软件源的服务器端文件,包含了apt的元数据、软件可执行程序包和软件源代码包,是Ubuntu官方、社区组织以及第三方公司共同维护的软件仓库。Ubuntu制定了软件的组织、存放和更新的策略,然后将此策略反映到服务端目录结构上。本文用于探索apt软件源服务端的数据存放逻辑。
![]() |
| 手把手教你构建自己的Linux系统 |
| 孙海勇 |
| 人民邮电出版社 |
| 2010-12-01#9787115237149#PDF |
![]() |
| 用“芯”探索:教你构建龙芯平台的Linux系统 |
| 孙海勇 |
| 人民邮电出版社 |
| 2021-02-01#9787115558497#BOOK |
![]() |
| 深度探索Linux操作系统:系统构建和原理解析 |
| 王柏生 |
| 机械工业出版社 |
| 2014-01-17#9787111439011#PDF#EPUB |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| xv6: a simple, Unix-like teaching operating system | MIT6.5810 | Russ Cox | MIT | September 5, 2022 | P |
| UNIX xv6内核源码深入剖析 | 9787302614630 | 高联雄 | 清华大学出版社 | 2022-11-01 | |
| 操作系统原型—xv6分析与实验 | 9787302579984 | 罗秋明 | 清华大学出版社 | 2021-07-01 | Z |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| 操作系统设计与实现(第三版)(上册) | 9787121261930 | Andrew S.Tanenbaum | 电子工业出版社 | 2015-06-01 | P |
| 操作系统设计与实现(第三版)(下册) | 9787121026485 | Andrew S.Tanenbaum | 电子工业出版社 | 2007-03-01 | P |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| Linux内核完全剖析 基于0.12内核 | 9787111250470 | 赵炯 | 机械工业出版社 | 2021-10-01 | P,Z |
| Linux内核完全剖析 | 9787111180326 | 赵炯 | 机械工业出版社 | 2006-01-01 | P,Z |
| Linux内核完全注释 | 9787111149682 | 赵炯 | 机械工业出版社 | 2005-08-01 | P,Z |
| Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理(第2版) | 9787111421764 | 新设计团队 | 机械工业出版社 | 2013-05-01 | P,W,E |
| x86汇编语言:从实模式到保护模式(第2版) | 9787121447556 | 李忠 | 电子工业出版社 | 2023-01-01 | P,W,Z |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| 穿越操作系统迷雾:从零实现操作系统 | 9787111732884 | 王柏生/王晟寒 | 机械工业出版社 | 2023-09-01 | |
| 一个64位操作系统的设计与实现 | 9787115475251 | 田宇 | 人民邮电出版社 | 2018-05-01 | |
| 30天自制操作系统 | 9787115287960 | [日]川合秀实 | 人民邮电出版社 | 2022-04-01 | |
| 自己动手写操作系统 | 9787121015779 | 于渊 | 电子工业出版社 | 2005-08-01 | P |
| Orange S:一个操作系统的实现 | 9787121084423 | 于渊 | 电子工业出版社 | 2009-06-01 | P |
| Linux GNU C 程序观察 | 9787302545491 | 罗秋明 | 清华大学出版社 | 2020-05-01 | |
| 深度探索嵌入式操作系统:从零开始设计、架构和开发 | 9787111514879 | 彭东 | 机械工业出版社 | 2015-10-01 | P |
eBPF是extended BPF的简称,BPF是Berkeley Packet Filter,即伯克利报文过滤器。
本文记录我正在看或者排队中的Linux性能优化图书,做个记号以供排期和复习。
本文记录我正在看或者排队中的Linux驱动开发类图书,做个记号以供排期和复习。
虚拟化技术主要包括:计算虚拟化、存储虚拟化、网络虚拟化、内存虚拟化、IO虚拟化。
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| 深度探索Linux系统虚拟化:原理与实现 | 9787111666066 | 王柏生 | 机械工业出版社 | 2020-10-01 | E,JB |
| 深入浅出系统虚拟化:原理与实践 | 9787302589419 | 戚正伟 | 清华大学出版社 | 2021-10-01 | W |
| 处理器虚拟化技术 | 9787121230196 | 邓志 | 电子工业出版社 | 2014-05-01 | P |
| Linux虚拟化—原理、方法和实战(KVM+Docker+OpenStack) | 9787302633419 | 吴光科 | 清华大学出版社 | 2023-07-01 | |
| 系统虚拟化—原理与实现 | 9787302193722 | 英特尔开源软件技术中心 | 清华大学出版社 | 2009-03-01 | P |
IP地址根据地址范围分为A、B、C、D、E等五类,每类地址都是由“网络ID”+“主机ID”组成。IP地址的划分规范是由国际互联网代理成员管理局(IANA)规定的。IANA保留地址是国际互联网代理成员管理局(IANA)在IP地址范围内,将一部分地址保留作为私人IP地址空间或者专门用于内部局域网等特殊用途使用的地址。
Linux Bridge(Linux网桥)是 Linux 上用来做 TCP/IP 二层协议交换的网络设备,与现实世界中的交换机功能相似。Bridge 设备实例可以和 Linux 本机上其他网络设备实例连接,既 attach 一个从设备,类似于在现实世界中的交换机和一个用户终端之间连接一根网线。当有数据到达时,Bridge 会根据报文中的MAC地址进行广播、转发、丢弃等处理。bridge-utils提供的brctl命令用于设置、维护和检查Linux网桥。本文记录bridge-utils的相关网站信息、编译安装、软件包安装、命令解释等内容,后续文章将对网桥的使用和原理做源码级别的深度分析。
书接上文 《LwIP分析之在Linux上运行LwIP的第二种方法》 ,第二种运行LwIP协议栈的方法,我们借用Linux TAP/TUN虚拟网卡,来联通本机Linux TCP/IP协议栈和LwIP TCP/IP协议栈,然后通过设置路由转发规则,可以达到我们在本机使用curl作为客户端,向运行在LwIP协议栈上的应用层httpd服务端发起请求,而httpd处理完http请求之后,又可以通过LwIP协议栈和TAP/TUN虚拟网卡,将数据返回给我们Linux协议栈上的curl程序。 但它的弊端是只能在本机上进行连通性测试,我们无法在其他主机上,向这个LwIP上的httpd发送请求。我们借助 Linux Bridge 来解决这个问题,也就是在Linux上运行LwIP的第三种方法。
书接上文 《LwIP分析之在Linux上运行LwIP的第一种方法》 ,第一种运行LwIP协议栈的方法,因对源码有侵入性,所以我们不作推荐。本文介绍是第二种方法,该方法只需要修改相应的源码配置,即可在本地运行起来。然后在本地使用curl可以调试服务端的httpd服务(其他功能开启方法类似,请读者自行研究)。
我们知道LwIP是给嵌入式设备这种资源有限的设备设计的,我们将其移植到单片机上较为简单。但如果剖析源代码,需要断点或者打印调试信息,每次修改都要重新烧录,那就太麻烦了。所以学习阶段,最好的方法还是可以在Linux上运行,这样就方便多了。
如何让LwIP在Linux上运行,目前我所知有三种方法,对于这几种方法,后续博文一一道来。
lwIP is a small independent implementation of the TCP/IP protocol suite that has been initially developed by Adam Dunkels and is now continued here. The focus of the lwIP TCP/IP implementation is to reduce resource usage while still having a full scale TCP. This makes lwIP suitable for use in embedded systems with tens of kilobytes of free RAM and room for around 40kilobytes of code ROM.
LwIP是瑞典计算机科学院Adam Dunkels开发的一个独立的小型开源TCP/IP协议栈,项目目前仍然在维护中。它实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,这使LwIP协议栈适合在低端的嵌入式系统中使用。
LwIP的主要特性:
Data Plane Development Kit,简称DPDK,意为数据平面开发套件,是由6WIND,Intel等多家公司开发,主要基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| DPDK应用基础 | 9787115426048 | 唐宏 | 人民邮电出版社 | 2016-08-01 | P,W |
| 深入浅出DPDK | 9787111537830 | 朱河清 | 机械工业出版社 | 2016-05-01 | P,W |
| Linux开源网络全栈详解:从DPDK到OpenFlow | 9787121367861 | 英特尔亚太研发有限公司 | 电子工业出版社 | 2019-06-01 | P,W |
| Linux高性能网络详解:从DPDK、RDMA到XDP | 9787115609649 | 刘伟 | 人民邮电出版社 | 2023-04-01 |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| TCP/IP详解 卷1:协议(原书第2版) | 9787111453833 | [美]W.理查德.史蒂文斯 | 机械工业出版社 | 2016-06-01 | P,Z |
| TCP/IP详解 卷2:实现 | 9787111617938 | [美]W.理查德.史蒂文斯 | 机械工业出版社 | 2022-04-01 | P,Z |
| TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议 | 9787111617778 | [美]W.理查德.史蒂文斯 | 机械工业出版社 | 2019-02-01 | P |
| 图解TCP/IP:第5版 | 9787115318978 | [日]竹下隆史 | 人民邮电出版社 | 2013-07-01 | P |
| 网络是怎样连接的 | 9787115441249 | [日]户根勤 | 人民邮电出版社 | 2021-04-01 | P,W,Z |
| TCP是怎样工作的 | 9787115610744 | [日]安永辽真 | 人民邮电出版社 | 2023-03-01 | |
| 深入浅出TCP/IP | 9787522614946 | [日]宫田宽士 | 水利水电出版社 | 2023-07-01 |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| 深入理解Linux网络技术内幕 | 9787508379647 | [美]ChristianBenvenuti | 中国电力出版社 | 2009-09-01 | P |
| Linux内核源码剖析—TCP/IP实现 上下册 | 9787111323730 | 樊东东/莫澜 | 机械工业出版社 | 2011-01-01 | P |
| 追踪Linux TCP/IP代码运行–基于2.6内核 | 9787512400481 | 秦健 | 北京航空航天大学出版社 | 2010-05-01 | P |
| 精通Linux内核网络 | 9787115392930 | [以]罗森 | 人民邮电出版社 | 2015-06-01 | P |
| Linux内核网络栈源代码情景分析 | 9787115216267 | 曹桂平 | 人民邮电出版社 | 2010-01-01 | P |
深度学习Ubuntu操作系统,所涉及的图书、官方资料以及其他网站。
官方文档入口: https://docs.ubuntu.com
The docs directory for all Ubuntu operating systems and products. Products:
深度学习Debian操作系统,所涉及的图书、官方资料以及其他网站。
用户手册: https://www.debian.org/doc/user-manuals
1 Debian常见问题(FAQ)
用户常问的问题。
| 书名 | ISBN | 作者 | Linux内核版本 | 备注 |
|---|---|---|---|---|
| 深入Linux内核架构 | 9787115227430 | [德]莫尔勒 | linux-2.6.24 | |
| 深入理解Linux内核(第三版) | 9787508353944 | [美]博韦/西斯特 | linux-2.6.11 | |
| Linux内核设计与实现(第三版) | 9787111338291 | [美]拉芙 | linux-2.6.34 | |
| Linux内核源代码情景分析 | 9787308027038 | 毛德操/胡希明 | linux-2.4.0 | |
| Linux技术内幕 | 9787302451006 | 罗秋明 | linux-3.13 | |
| Linux内核源码剖析—TCP/IP实现 | 9787111323730 | 樊东东/莫澜 | linux-2.6.20 | |
| 追踪Linux TCP/IP代码运行–基于2.6内核 | 9787512400481 | 秦健 | linux-2.6.26 | |
| 深入理解Linux网络技术内幕 | 9787508379647 | [美]ChristianBenvenuti | linux-2.6.x | linux-2.6.11 |
| 精通Linux内核网络 | 9787115392930 | [以]罗森 | linux-3.9 | |
| Linux内核网络栈源代码情景分析 | 9787115216267 | 曹桂平 | linux-1.2.13 | |
| 深入理解Linux网络:修炼底层内功,掌握高性能原理 | 9787121434105 | 张彦飞 | linux-3.10 |
| 书名 | ISBN | 作者 | 出版社 | 出版日期 | 备注 |
|---|---|---|---|---|---|
| 操作系统设计与实现 第三版 上册 | 9787121261930 | [美]塔嫩鲍姆 | 电子工业出版社 | 2015-06-01 | P,Z |
| 操作系统设计与实现 第三版 下册 | 9787121026485 | [美]塔嫩鲍姆 | 电子工业出版社 | 2007-03-01 | P |
| 现代操作系统:原理与实现 | 9787111666073 | 陈海波/夏虞斌 | 机械工业出版社 | 2020-10-01 | P |
| 操作系统真象还原 | 9787115414342 | 郑钢 | 人民邮电出版社 | 2016-03-01 | P |
| 操作系统概念 第十版 | 9787111732853 | [美]亚伯拉罕.西尔伯沙茨 | 机械工业出版社 | 2019-09-01 | |
| 操作系统—精髓与设计原理 第九版 | 9787121388316 | [美]William Stallings | 电子工业出版社 | 2020-07-01 | |
| Operating Systems: Three Easy Pieces(OSTEP) | [D1], [D2] |
本文记录学习英伟达推出的CUDA计算框架,所需要的资料和相关网站。
本文记录学习和研究设计模式中的参考资料。
使用如下命令查看HAProxy支持的编译选项
| |
上节 我们主要讲解了HAProxy的基本知识,以及事关HAProxy的重要资源。我们知道HAProxy是众多负载均衡器中非常重要的一个,而本系列文章就是围绕其使用、管理以及原理来展开。在深度学习之前,我们先安装HAProxy,运行起来,直观感受下它的魅力。
HAProxy是一款开源的、高性能的、基于TCP(四层)和HTTP(七层)应用的负载均衡软件,借助HAProxy可以免费、快速、可靠地部署基于TCP和HTTP应用的负载均衡解决方案。
HAProxy作为一款专业的负载均衡软件,其主要特性如下:
工欲善其事必先利其器,本文记录HAProxy的重要资源,通过学习这些资料深度掌握HAProxy的部署、管理和原理等方面的知识。
Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
本文记录DNS相关图书、资料和开源系统列表,以供后续的逐步深入分析。
负载均衡(Load Balance)就是将操作合理有效分解到多个操作单元执行,从而扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡有硬件负载和软件负载之分。
在大多数互联网公司中,普遍使用软件形态的负载均衡器,并且基于所处理的协议区分为两种不同的系统:
本文记录学习和研究架构设计中的参考图书和资料。
上文我们使用apt安装了Thrift开放框架,apt仓库中的Thrift是0.16.0版本,并不是官方最新版本。如果为了使用新的特性,我们需要自行编译最新版本。本文介绍采用从源代码编译的方式,来安装Thrift-0.19.0版本。
Thrift在Ubuntu/Debian系统上的安装一般有两种方式:
Thrift是一个可扩展、跨语言的服务开发框架。它使用代码生成引擎,形成了一个可以高效和无缝连接Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml等语言的开发栈。
Thrift使用IDL描述语言来定义软件服务,并经过它的编译器将IDL服务翻译成骨架文件以及通信协议代码。它通常被当作一个远程过程调用(RPC)框架来使用,是由Facebook为“大规模跨语言服务开发”而开发的。
Google Test,简称gtest,是Google出品的C++单元测试框架。基于该框架,我们可以编写和运行单元测试、集成测试和功能测试。本系列博文,重点讲解gtest的使用方法和实现原理。
在Linux类系统上采用源码编译安装软件,一般就是 ./configure & make & make install 这三步。而configure文件的生成一般来自Autotolls工具,本系列文章探究Autotools的使用方法和实现原理。
书接上文,目前已知有两处源代码下载地址,代码稍微不同,我们分别使用不同的源代码包进行编译安装,方法如下所述。
本文记录研究Git的使用和原理的资料,做个记号以供排期和复习。
本文记录学习和研究etcd中的参考资料。
ZooKeeper是一个分布式的,开源的分布式应用程序协调服务,是Google的Chubby一个开源实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。目标是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper以Fast Paxos算法为基础,Paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos做了一些优化,通过选举产生一个leader ,只有leader才能提交proposer。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。
前面的几篇文章我们介绍了crun的编译方法、基本使用教程,以及制作了基础镜像nginx-ubuntu。本文研究在不依赖Docker的情况下,我们使用底层命令crun来运行Docker镜像的方法。
crun是一个快速轻量级、低内存、全功能、符合OCI规范、用于运行容器的Runtime,与runc一样可以用于创建、部署容器,它使用C语言开发。
本文记录手工编译crun以及使用crun创建容器的方法,供后续学习源代码做准备。