# ldos-for-rpi4 **Repository Path**: dengml123/ldos ## Basic Information - **Project Name**: ldos-for-rpi4 - **Description**: 创建一个基于树莓派4B的裸机操作系统,目标实现简单的进程管理,内存管理,网络通信,中断管理,文件系统等基本操作系统功能。边学习边实践,建立本仓库来追溯学习进程及笔记。 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2023-02-16 - **Last Updated**: 2025-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ldos-for-rpi4 #### 介绍 创建一个基于树莓派4B的裸机操作系统,目标实现简单的进程管理,内存管理,网络通信,中断管理,文件系统等基本操作系统功能。边学习边实践,建立本仓库来追溯学习进程及笔记。 #### 软件目标 设计可以在树莓派4上正常运行的简易操作系统。 #### 硬件要求 1. 树莓派4B开发板,带有电源 2. USB转串口线,用于连接开发主机及开发板 3. SD卡支持树莓派启动 4. 电脑用于开发 5. 树莓派对应的HDMI显示器及对应线束(后期可能需要) #### 软件要求 - 针对主机的编译环境有很多种,笔者采用windows主机+WSL(运行ubuntu-22.04操作系统)进行的,读者可以根据自身需求采用vmware虚拟机或者vitual box 安装其他linux发行版作为自己的开发环境,笔者在此就不多做赘述。 - 同时为方便开发期间频繁启动系统镜像,避免每次都要插拔sd卡将新系统镜像放在SD卡并重新启动树莓派的麻烦,采用为树莓派移植新的uboot,在移植的uboot实现从远端服务器通过FTP的方式加载kernel,并在树莓派开发板运行的方式(算是一种功在当代,利在千秋的做法)。如果不想为此付出精力,亦可采用每一次编译出新内核后将新内核放在SD卡中并启动树莓派的做法,只需将编译出的系统镜像放到SD卡中对应位置并重新启动即可。关于树莓派启动流程,可参考下一节介绍。 - 其它具体软件需求后续会根据开发要求在具体章节做说明。 #### 树莓派启动流程简介 http://t.csdn.cn/v3iR8 #### 仓库结构 00_development_environment_build: 搭建开发环境 01_env_build_boot_from_remote: 搭建远程开发环境(系统可以加载远程内核并挂载远程文件系统) #### 说明 主要参考书籍为《30天自制操作系统》 更换WSL位置(迁移C盘到其他盘)参考: https://www.cnblogs.com/konghuanxi/p/14731846.html 后续更新进度可能略慢 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request