当前位置: 首页 > 科技观察

LinuxLabv0.5正式发布,功能强大且简单易用

时间:2023-03-15 22:48:30 科技观察

LinuxLab是一套用于学习、开发和测试Linux内核的即时实验室。它可以非常快速地构建和使用。它功能强大且易于使用!你可以用它来高效地学习处理器架构、Linux内核、嵌入式Linux系统、C语言编程、Linux汇编、Shell编程等等。LinuxLabBoot示例版本更新LinuxLab在六月底发布了v0.5的第一个候选版本:v0.5-rc1,经过三个月的开发迭代,在先后发布了rc2和rc3之后,本次发布v0.5为正式版,配套的Lab管理工具CloudLabv0.3和第一期LinuxLab视频公开课将同步发布。更多使用方法将以视频讲解+演示的形式陆续发布,敬请期待。这次的主要目的是将开发环境升级到Ubuntu20.04,并增加对所有龙芯处理器的支持。这次一共修改了204处://linuxlab$gitlog--pretty=onelinev0.4..v0.5|wc-l144//cloudlab$gitlog--pretty=onelinev0.2..HEAD|wc-l60这次有4位同学发起PR并被合并,近10位同学反馈或验证了bug。感谢您的贡献:$gitlog--format="%aN"v0.4..v0.5--reverse|sort-ufanjunkongSignaltaotierenWuZhangjin本次主要更新如下:v0.5Bug修复和功能改进整理目录结构,增加src和build目录,将部分目录转移到src目录修复clone功能,避免死循环Documentupdate介绍了如何使用压缩包导入内核源码。介绍使用同名板的注意事项。介绍如何通过LinuxLab开发C语言。改进调试。相关文档v0.5-rc3Bug修复和功能改进。uboot编译失败。新镜像中的aarch64/virt系统与Qemu有问题。替换为BSP包中的预编译版本,增加龙芯Qemu传递内核参数的Buffer(Binary暂未更新)system/tools/trace.sh:更新对新内核tools/root/dir2的支持*.sh:允许查找属于root的文件,确保rootfs包完整将x86_64/pc和arm/vexpress-a9的默认编译器分别设置为gcc-8和gcc-9,确保新内核可以正确编译文档更新进一步完善文档中对普通用户的要求,避免使用root带来的诸多问题从DockerDebian镜像v0.5-rc2Qemu改进根文件系统的使用进一步提升Qemu编译体验,增加子模块Gitee中的镜像,不再沮丧修复新镜像中龙芯qemu编译错误感谢龙芯@张师反馈和修改建议新增Arch/Manjarodocker安装文档,感谢@taotieren发送PR修复MacOS区分大小写的文件系统镜像创建步骤,感谢@贾贤华报告错误并给出修改计划增加一个新步骤“Linux开发的新分支”,感谢@陈家南反馈明确指出工作路径,确保非内置登录方式ok,感谢@老孔家的勒苗发PR,其他问题,改进两个内核模块编译问题,感谢@江左有美狼报错,修复第一次下载内核后的x86_64内核配置文件路径问题,感谢@Liang举报Bugv0.5-rc1已经全面完善合并了对所有龙芯处理器的早期支持。目前支持4款开发板:mipsel/ls1b、mipsel/ls2k、mipsel/ls232、mipsel/ls3a7a,其中ls1b已经支持mainlinev5。2.ls2k和ls3a7a有望在v5.8/v5.9得到全面支持。将开发环境的基础镜像全面升级到Ubuntu20.04。大部分准备工作已经开发并合并到当前版本中,一些兼容性和适配工作仍在进行中。如果是非Ubuntu平台,请提前自行安装docker。你可以参考DockerforMac和DockerforWindows。如果您使用的是旧版本的Windows,可以使用DockerToolbox,也可以通过Virtualbox或Vmware自行安装Ubuntu。国内的同学一定要使用国内的Docker镜像服务,否则无法正常下载镜像。推荐参考阿里云镜像配置文档。下面的链接是你成功运行LinuxLab的宿主环境,欢迎参考,欢迎安装后注册。已成功运行Linux的操作系统和Docker版本列表极速体验本版本依赖最新的CloudLab和docker镜像:$gitclonehttps://gitee.com/tinylab/cloud-lab.git$cdcloud-lab$tools/docker/pulllinux-lab#确保更新docker镜像$tools/docker/runlinux-lab已经下载,请更新到最新版本并重启LinuxLab:$cdcloud-lab&&gitpull$tools/docker/updatelinux-lab$tools/docker/rerunlinux-lab进入后,打开控制台,输入如下命令启动一块板子(自动下载预编译版本):$makeboot一键编译启动(自动下载源码,查看版本,补丁,配置,编译):$makebootBUILD=kernel默认使用arm/vexpress-a9。如果你想使用龙芯板,只需切换:$makeBOARD=mipsel/ls1b$makeboot关键特性LinuxLab具有以下特性:支持3大操作系统(Windows、MacOS、Linux),可以在这些下轻松使用三大操作系统。支持7+大处理器架构(X86、ARM、MIPS、PPC、CSKY、RISC-V、LOONGSON),其中LOONGSON、CSKY为国产处理器。支持16+开发板(i386/pc,x86_64/pc,arm/versatilepb,arm/vexpress-a9,ppc/g3beige,mips/malta,aarch64/virt,aarch64/raspi3,riscv32/virt,riscv64/virt,csky/virt、龙芯/ls1b、龙芯/ls2k、龙芯/ls232、龙芯/ls3a7a)。支持5种登录方式(docker、ssh、vnc、webssh、webvnc),可以本地访问也可以远程访问。集成5大组件(Qemu、U-boot、Buildroot、Linux、Toolchain),均有预编译版本。内置5大平台,32位和64位,共10个HelloWorld汇编语言例程,见examples/assembly。可以学习处理器指令集、Qemu、Shell、汇编、C、Linux内核、嵌入式Linux。支持调试和测试。无需root即可使用主机和来宾。