1 月 2 日,长期从事 Linux 内核开发的 Ingo Molnar 发布了一组大规模的补丁,用来重塑 Linux 内核的头文件层次结构和依赖关系,补丁数量多达 2297 个。这项工作的目标是加快 Linux 内核的构建时间,同时清理一些东西,以解决"依赖性地狱"问题。
大约是在2000年的时候,老码农还很年轻,当时希望将Linux 作为手机的操作系统, 于是才有了进行内核裁剪的想法并辅助实践,效果尚好,已经能在PDA上执行手机的功能了。一晃20多年过去了,Linux 已经有了太大的变化,内核裁剪的技术和方式也有了较大的不同。
Rust 编程语言在安全性方面具有一些优势,因此某些 Linux 内核开发人员希望使用它。其中一位 Nick Desaulniers 希望在即将举行的 Linux Plumbers Conference 上进行介绍和讨论。Linux Plumbers Conference 是一个会议,参会的是从事 Linux 工作的顶尖开发人员(包括内核子系统,核心库,窗口系统等)。
ERROR: Unable to find the kernel source tree for the currently running kernel. Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed. If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option.
Raspberry Pi 内核Linux代码存储在 GitHub 中,可以在github.com/raspberrypi/linux上查看。
嵌入式系统三大部分:bootloader(uboot)、Linux内核、根文件系统。
OpenHarmony OS 2.0 发布时,标准系统只支持 Hi3516DV300 一种硬件平台,而 Android、IOS 均提供了模拟器供开发人员使用。这也可以理解,毕竟华为长期以来都是设备供应商,专长是硬件,在软件开发方面缺少底蕴。鸿蒙应用开发提供了模拟器,但那是真机模拟器,需要接入到华为的开发平台才能使用。
Docker 提供了两种方法来创建基础镜像,一种是通过引入tar包的形式,另外一种是通过一个空白的镜像来一步一步构建,本文使用的是第二种方法,既FROM scratch
长期以来,Rust 编程语言的一个目标都是能替代在操作系统内核开发中最常用的 C 语言。随着 Rust 的逐步成熟,许多开发人员越来越有兴趣在 Linux 内核中尝试 Rust。在 2020 (virtual) Linux Plumbers Conference 会议上,LLVM 这个微会议的诸多议题中就举办了一场讨论,关于 Linux 内核中接受 Rust 代码还有那些未解决的问题或者障碍。这是 2020 年活动中参加人数最多的一次会议,从中可以看出人们对这个议题有多么感兴趣了。
一个操作系统,最重要的部分无疑是内核。鸿蒙系统声称自研了内核,从之前开源的 OpenHarmony OS 代码中可以看到,是一款名为 LiteOS 的面向 IoT 领域构建的轻量级物联网操作系统。LiteOS 又有两个版本:LiteOS-A 和 LiteOS-M。而 OpenHarmony OS 2.0 针对手机、平板等富资源设备,则使用的是 Linux 操作系统。
文章涉及的实验环境和代码可以到这个git repo获取: https://github.com/nevermosby/linux-bpf-learning
自从Linux内核代码迁移到Git之后,Linux内核配置/构建系统(也称为Kconfig/kBuild)已经存在了很长时间。然而,作为支持基础设施,它很少受到关注;即使在日常工作中使用它的内核开发人员也从未真正考虑过它。
原文链接 https://tomcat0x42.me/linux/rust/2023/04/01/linux-kernel-rust-dev-environment.html
目前,AMD 的深度学习加速解决方案已经官方支持 TensorFlow 和 Caffe 两种框架。
构建嵌入式系统有很多种方式,每一种方式都有他存在的地方,比如适配于那种场合和应用。我也是了解不多,参考了网上的一些东西资料,以及抒发自己在学习这些构建方法时的一些看法。
perf 是 Linux 官方的性能分析工具,它具备 profiling、tracing 和脚本编写等多种功能,是内核 perf_events 子系统的前端工具。
大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0。代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核。它是稳定版3.19.4之后发布的内核。4月12日是所有的开源运动爱好者的大日 子,Linux Torvalds宣布了Linux内核4.0的发布,它现在就已经可用了。由于包括了一些很棒的功能,例如无重启补丁(实时补丁),新的升级驱动,最新的 硬件支持以及很多有趣的功能都有新的版本,它原本被期望是一次重要版本。但是实际上内核4.0并不认为是期望中的重要版本,Linus 表示期望4.1会是一个更重要的版本。实时补丁功能已经集成到了SUSE企业版Linux操作系统上。你可以在发布公告上查看关于这次发布的更多详细内容。
但现在,即使你还有一张能用的3.5英寸软盘,可1.44MB的容量远远装不下一个现代linux内核,更不用说还得加上所有支持软件了。
https://elrepo.org/linux/kernel/el7/x86_64/RPMS/
前天,华为举行了一场盛大的发布会,会议开头介绍了华为在消费者市场所取得的成绩,说实话,看了还挺震撼的,华为确实是一家很厉害的商业公司。
近日,英伟达(NVIDIA)宣布,将 Linux GPU 内核模块作为开放源代码发布。早在几天前,NVIDIA 开始在 GitHub 上陆续公开相关代码,目前该项目已经收获 7.7k star,众多网友对本次开源纷纷表示难以置信。
在非图形界面的Ubuntu server20.04的GPU服务器上配置环境,包括Nvidia驱动,cuda,cuDNN的安装,Anaconda的安装和开发环境创建。最好的参考文档是各软件的官方文档。
Paudle是对Josh Wardle的优秀文字游戏Wordle的重新实现。这个版本是用Yew和Rust制作的。作者仿照了Wordle的颜色和布局(当然还有游戏逻辑),但实现都是原创的。与最初的版本不同,这一版本完全是基于客户端的,因此没有什么可以阻止你作弊——如果你能找出如何从运行的WASM中提取当前单词的话。
Linux平台上有许多开源的嵌入式linux系统构建框架(框架的意思就是工具),这些框架极大的方便了开发者进行嵌入式系统的定制化构建,目前比较常见的有OpenWrt, Buildroot, Yocto,等等。其中Buildroot功能强大,使用简单,而且采用了类似于linux kernel的配置和编译框架,所以受到广大嵌入式开发人员的欢迎。
一、initramfs是什么 在2.6版本的linux内核中,都包含一个压缩过的cpio格式的打包文件。当内核启动时,会从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包含有init文件,如果有则执行它,作为PID为1的第一个进程。这个init进程负责启动系统后续的工作,包括定位、挂载“真正的”根文件系统设备(如果有的话)。如果内核没有在rootfs中找到init文件,则内核会按以前版本的方式定位、挂载根分区,然后执行 /sbin/init程序完成系统的后续初始化工作。 这个压缩过的cpio格式的打包文件就是initramfs。编译2.6版本的linux内核时,编译系统总会创建initramfs,然后把它与编译好的内核连接在一起。内核源代码树中的usr目录就是专门用于构建内核中的initramfs的,其中的initramfs_data.cpio.gz文件就是initramfs。缺省情况下,initramfs是空的,X86架构下的文件大小是134个字节。
该命令确保内核源代码树绝对干净,内核开发组建议在每次编译内核前运行该命令。尽管内核源代码树在解压后应该是干净的,但这并不完全可靠。
它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。
来源 | https://segmentfault.com/a/1190000019462392
Docker是一种流行的容器化平台,它可以让开发者将应用程序打包成容器,并在任何地方运行。Docker容器的创建过程主要分为镜像构建、容器创建和容器启动三个步骤,下面将对这三个步骤以及Docker容器的原理进行详细介绍。
当您打开Linux内核源代码的maintainer文件,在里面搜索一个名字Jiaxun Yang,您会发现,他是内核多个模块的maintainer:
作者 | Tina 众所周知,Linux 是 C 语言的代言人。但是,时代变了,Rust 正在兴起并赢得越来越多人的支持,它开始逐渐扮演 Linux 系统语言的角色。 在今年的 Linux 基金会开源峰会上,Linus Torvalds 提到他希望看到在 Linux Kernel 5.20 中融入 Rust。内核发布周期一般是 9 到 10 周,这意味着我们可能会在 8 月初看到 5.19。然后,如果一切顺利的话,我们将在 10 月下旬或 2022 年 11 月上旬在 5.20 中看到 Rust。而仅在去
内核进行的是应用软件和计算机硬件的交互工作在计算机科学中,内核(英语:kernel)又称核心,是一个计算机程序,用来管理软件发出的数据I/O(输入与输出)要求,将这些要求转译为数据处理的指令,交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本的部分。 它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的。所以内核通常提供一种硬件抽象的方法,来完成这些操作。通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别是处理器及IO设备)。
最近接着介绍安卓系统安全知识,Android安全主要由系统框架实现,开发者构建设计,到用户授权三大方面组成。本系列将从安卓系统框架设计,到用户权限管理,到最后的应用安全签名等全面介绍,这个过程中,有转载,译文,当然关键的也有原创,有兴趣的可以继续关注。
ReadMore: Merge tag rust-v6.1-rc1 of https://github.com/Rust-for-Linux/linux
SyterKit 是一个纯裸机框架,用于 TinyVision 或者其他 v851se/v851s/v851s3/v853 等芯片的开发板,SyterKit 使用 CMake 作为构建系统构建,支持多种应用与多种外设驱动。同时 SyterKit 也具有启动引导的功能,可以替代 U-Boot 实现快速启动
Linux普及度不高主要说的在桌面版里面,在服务器以及移动设备端有些非常大的占比,特别是移动端占比,所有的安卓手机设备都是基于Linux内核,单纯的说Linux系统普及度不高明显存在问题。Linux桌面版推广不起来主要是应用生态系统无法构建,就拿国内来讲安装一个Linux系统里面常见的工具几乎都用不了,所以在桌面版几乎很难推广起来,这就是很多人说的普及度不高原因。
linux不是没有病毒,而是病毒少。病毒少的原因:1、Linux账号有限制,即使这个病毒成功地感染了这个用户拥有的一个程序,由于这个用户权限受限,它进一步传播的任务也会非常困难;2、Linux网络有限制,其网络程序构建地很保守,没有让病毒快速传播变的可能的高级宏工具;3、Linux的应用软件和系统软件几乎都是开源的,而病毒很难藏身于开源的代码中间。 📷 Linux教学 本教程操作环境:linux7.3系统、Dell G3电脑。 linux不是没有病毒,而是病毒少。 那么为什么Linux系统下病毒这么少?很
在Linux内核 30 周庆之际,Linus Torvalds 宣布推出了 Linux 5.14。他在公告中表示:
至于目前的状态,v8补丁系列仍然带有这样的信息: "Rust支持仍然被认为是实验性的。然而,支持已经足够好了,内核开发者可以开始研究子系统的Rust抽象,并编写驱动和其他模块。" 对于那些对Linux内核的Rust感兴趣的人来说,更多的细节可以在内核邮件列表中看到v8补丁。
但是有时候,驱动不够新,比如14.04用的是340.98版本,如果手动安装驱动可以参考官网指南。
Linux 的中心原则是,所有更改都必须分解为小步骤进行 —— 您的每个 commit 都只能做一件事。这并不意味着每个 commit 都必须很小,比如对在数千个文件中使用的函数的 API 进行简单更改,可以使更改量很大,但仍然可以接受,因为它是针对某一项单一任务的更改。 通过始终遵循此原则,项目维护者可以更轻松地识别和隔离任何有问题的更改,而不影响其他的功能。
Android 安全架构的理解不仅帮助我了解 Android 的工作原理,而且为我开启了如何构建移动操作系统和 Linux 的眼界。 本章从安全角度讲解 Android 架构的基础知识。 在第 1.1 节中,我们会描述 Android 的主要层级,而第 1.2 节给出了在此操作系统中实现的安全机制的高级概述。
① 使用Busybox手工制作 Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手工下载、编译,如果它需要某些依赖库,你还需要手工下载、编译这些依赖库。 如果想做一个极简的文件系统,可以使用Busybox手工制作。
(文章大部分转载于:https://consen.github.io/2018/01/17/debug-linux-kernel-with-qemu-and-gdb/)
Android 是一种基于 Linux 的开放源代码软件栈,主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86等体系结构的机器上同样可以运行。
《深度探索linux操作系统:系统构建和原理解析》是探索linux操作系统原理的里程碑之作,在众多的同类书中独树一帜。它颠覆和摒弃了传统的从阅读linux内核源代码着手学习linux操作系统原理的方式,而是基于实践,以从零开始构建一个完整的linux操作系统的过程为依托,指引读者在实践中去探索操作系统的本质。这种方式的妙处在于,让读者先从宏观上全面认清一个完整的操作系统中都包含哪些组件,各个组件的作用,以及各个组件间的关系,从微观上深入理解系统各个组件的原理,帮助读者达到事半功倍的学习效果,这是作者潜心研究linux操作系统10几年的心得和经验,能避免后来者在学习中再走弯路。此外,本书还对编译链接技术(尤其是动态加载和链接技术)和图形系统进行了原理性的探讨,这部分内容非常珍贵。
作者 | 许庆伟 策划 | 凌敏 随着 eBPF 技术在各种行业领域上的使用和普及,人们在享受着技术变革红利的同时,也遭受着无孔不入的恶意攻击。就像任何事物都有两面性一样,没有任何一项技术只有高高在上的优势,而没有弊端。只有更加清晰地剖析清楚 eBPF 的内核,才能推动它不断地进步,趋利避害,尽可能发挥正向的作用。 1 eBPF 的安全能力是检验其可持续发展的重要指标 日益严峻的 Linux 安全形势 根据安全分析机构 ESG 云原生安全研究,88% 的网络安全专业人士表示,在过去 12 个
领取专属 10元无门槛券
手把手带您无忧上云