qemu 运行 busybox

本文介绍了如何编译BusyBox并将其作为根文件系统,通过QEMU运行自定义编译的Linux内核。内容涵盖了下载BusyBox源码、配置静态编译、解决编译错误、打包生成initramfs.cpio.gz文件,以及最终使用QEMU加载内核和根文件系统的完整命令和步骤。

Korbin 发布于 2025-03-11

Git下载构建Linux

本文介绍了从Git下载、配置、编译并运行最新Linux内核的全过程。内容涵盖了使用`git clone`获取源码,通过`make menuconfig`进行配置,以及交叉编译arm64内核的步骤。文章还解决了内核启动时因缺少根文件系统而导致的"Kernel panic"问题,并演示了如何制作并挂载一个简单的initramfs。

Korbin 发布于 2025-03-04

Linux中的各种锁及其基本原理

本文深入探讨了Linux中的各种锁机制。内容从并行性、同步与互斥等基本概念入手,详细解析了自旋锁、互斥锁、读写锁和RCU锁的原理与适用场景。文章还区分了可重入与不可重入锁,并讲解了条件变量如何与互斥锁结合使用,以生产者-消费者模型为例进行了说明。

Korbin 发布于 2025-02-20

FreeRTOS中的锁

本文介绍了FreeRTOS中用于多任务同步的几种锁机制。内容涵盖了用于保护共享资源的互斥锁(Mutexes),其特点是支持优先级继承以避免优先级反转。此外,还讲解了用于简单同步的二值信号量、控制资源数量的计数信号量以及用于复杂状态管理的事件组。

Korbin 发布于 2025-02-19

Git配置多个用户

本文介绍了在Git中配置多个用户身份的简洁方法。通过在主配置文件`~/.gitconfig`中使用`includeIf`指令,可以根据仓库所在的目录路径,条件性地加载不同的子配置文件,从而为不同工作区自动切换用户名和邮箱。

Korbin 发布于 2024-08-08

腾讯云自动申请域名证书

本文介绍了使用acme.sh和DNSPod API为腾讯云域名自动申请和续签SSL证书的方法。内容涵盖安装acme.sh、获取并配置DNSPod密钥、通过DNS方式签发泛域名证书,以及最后将证书安装到Nginx并配置自动重载的完整流程。

Korbin 发布于 2024-07-20

FreshRSS 重置密码

本文介绍了如何重置FreshRSS的用户密码。由于密码Hash存储在配置文件中,可通过Python的`bcrypt`库生成一个新的Hash值,替换掉`<freshrss-root>/data/users/<user-name>/config.php`文件中的旧`passwordHash`,即可用新密码登录。

Korbin 发布于 2024-07-06

FreeRTOS 的任务

本文深入讲解了FreeRTOS中的任务管理。内容涵盖任务的状态(运行、就绪、阻塞、挂起)、任务优先级,以及其固定优先级、抢占式和时间片轮询的调度策略。此外,还探讨了优先级继承与反转问题,并简述了在多核系统中的调度方式。

Korbin 发布于 2024-04-19

ARM Cortex-M3 基础

本文全面介绍了ARM Cortex-M3处理器的基础知识。内容涵盖其高性能、先进中断处理、低功耗等特性,并详细讲解了寄存器组、操作模式、嵌套向量中断控制器(NVIC)、存储器映射以及可选的MPU等核心概念,为嵌入式开发者提供了系统性的入门指南。

Korbin 发布于 2024-04-19

Linux 串口挂载失败

本文解决了在Ubuntu上CH340串口设备无法挂载为`/dev/ttyUSB0`的问题。通过查看系统日志,发现是`brltty`(盲文设备支持)服务占用了USB接口导致冲突。最终,通过卸载`brltty`软件包,成功使串口设备恢复正常挂载。

Korbin 发布于 2023-08-28
上一页 下一页