[授权发表]基于 Docker 快速构建 Linux 0.11 实验环境

2023-05-16

by Falcon of TinyLab.org
2015/05/02

最初发表:泰晓科技 – 聚焦嵌入式 Linux,追本溯源,见微知著!
原文链接:基于 Docker 快速构建 Linux 0.11 实验环境
评论说明:为更好地聚合大家的讨论,请到上面原文的评论区回复。


简介

五分钟内搭建 Linux 0.11 的实验环境介绍了如何快速构建一个 Linux 0.11 实验环境。

本文介绍如何快速构建一个独立于宿主机的 Linux 0.11 实验环境,该实验环境可以用于任何操作系统的宿主开发机,将非常方便各类学生学习 Linux 0.11,本文只介绍 Ubuntu。在 Windows 和 Mac 下可以用 VirtualBox + Boot2Docker 来启动。

下文要求已经安装 git 和 docker,如果没有安装请首先安装:

  • 安装 git

    
      

$ sudo apt-get install git

  • 安装 docker

    
      

$ sudo apt-get install software-properties-common # 增加 add-apt-repository 命令
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:dotcloud/lxc-docker # 增加一个ppa源,如:ppa:user/ppa-name
$ sudo apt-get -y update
$ sudo apt-get install lxc-docker

拉下 Linux 0.11 实验环境


$ git clone https://gitlab.com/tinylab/linux-0.11.git
  

通过 Docker 构建一个独立的实验环境


$ cd linux-0.11
$ docker build -t tinylab/linux-0.11-lab ./
  

启动装有实验环境的 Docker 容器


$ CONTAINER_ID=$(docker run -d -p 6080:6080 dorowu/ubuntu-desktop-lxde-vnc)
  

获得实验环境的密码


$ docker logs $CONTAINER_ID | sed -n 1p
    User: ubuntu Pass: ubuntu
  

:登录密码为 Pass 之后的字符串,这里为 ubuntu

远程登录实验环境

  • 在本地宿主机登录
    • http://localhost:6080/vnc.html
  • 远程登录
    • 获得实验环境所属容器的 IP 地址

        $ docker exec $CONTAINER_ID ifconfig eth0 | grep "inet addr:"
        inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
      
    • 访问地址:http://172.17.0.1:6080/vnc.html

简单使用

登录后,无须再额外安装任何工具,因为刚才在构建 Docker 容器时就已经默认安装好。所以用法与 五分钟内搭建 Linux 0.11 的实验环境 稍有差异。基本步骤如下:

  • 登录后,通过左下角的启动菜单,找到 Accessories,再打开控制台 LXTerminal
  • 进入实验环境所属目录:cd /linux-0.11-lab
  • 进行各种开发与调试动作
    • 例如:make start-hd
    • 也可切换 bochs 启动,例如:echo bochs > tools/vm.cfg; make start-fd
  • 更多用法请参考:make help

效果如下:

[外链图片转存失败(img-znYOtOZT-1562434132683)(http://www.tinylab.org/wp-content/uploads/2015/05/linux-0.11-lab-with-docker-vncserver+novnc.jpg)]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[授权发表]基于 Docker 快速构建 Linux 0.11 实验环境 的相关文章

  • VINS_Fusion回环检测学习笔记

    回环检测的任务主要是为了检测机器人是否到达之前相同的位置 xff0c 并且消累计的误差 VINS Fusion的回环检测和VINS Mono基本相似 只是loop fusion中读取的很多参数是直接设定好的 回环部分我们先从pose gra
  • STM32——ST-Link v2调试下载器的连接方法【详解】

    硬件电路 在网上购买了STM32F103C8T6的最小系统开发板 xff0c 由于手头上没有官方的STM32调试器 xff0c 所以也同时购买了一个便宜的st link v2下载调试器 这种下载器和STM32的最小系统板之间完成调试通信需要
  • Linux/Centos Makefile 使用总结

    1 Makefile 简介 Makefile 是和 make 命令一起配合使用的 很多大型项目的编译都是通过 Makefile 来组织的 如果没有 Makefile 那很多项目中各种库和代码之间的依赖关系不知会多复杂 Makefile的组织
  • 深入理解SQLite3之sqlite3_exec及回调函数

    sqlite3的C C 43 43 接口API主要有3个重要函数 xff0c 分别为 1 sqlite3 open const char filename sqlite3 ppDb 2 int sqlite3 exec sqlite3 An
  • 5G:三大场景--- eMBB、URLLC、mMTC

    背景 xff1a 很多人认为 5G 确实是未来的发展方向 xff0c 但具体到哪些落地 xff0c 又说不清楚 xff0c 甚至于认为 5G 只比 4G 多了一个G 而已 xff0c 但笔者认为 xff1a 5G 在移动通信领域绝对是革命性
  • Linux:lspci命令介绍

    lspci xff0c 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具 pci是一种总线 xff0c 而通过pci总线连接的设备就是pci设备了 如今 xff0c 我们常用的设备很多都是采用pci总线了 xff0c
  • iperf详细使用方法

    Iperf 是一个网络性能测试工具 Iperf可以测试TCP和UDP带宽质量 Iperf可以测量最大TCP带宽 xff0c 具有多种参数和UDP特性 Iperf可以报告带宽 xff0c 延迟抖动和数据包丢失 Iperf使用方法与参数说明 参
  • IPSec浅见

    1 IPSEC协议簇安全框架 a IPSec简介 IPSec xff08 Internet Protocol Security xff09 xff1a 是一组基于网络层的 xff0c 应用密码学的安全通信协议族 IPSec不是具体指哪个协议
  • IPsec:strongswan与vpp实现ipsec

    1 strongswan 43 vpp简介 strongswan与vpp如何结合 本次实验使用的是VPP 20 01 版本 43 strongswan 5 9 6版本 目前strongSwan 43 vpp的方案主要是使用strongswa
  • Linux:启动sshd服务的时候提示错误Unsupported option UsePAM

    问题 分析 默认的configure 没有启用 with pam选项 xff0c 如果在sshd config配置文件里加入UsePAM no 就会导致上面的错误提示 UsePAM与ssh密码认证相关 xff0c 但公司服务器禁止通过密码认
  • Ubuntu: ssh升级后服务不稳定不断重启,查看sshd服务状态为activating(start)的解决办法

    现象 xff1a Ubuntu20 04 升级ssh7 4到8 1版本后 xff0c ssh连接不稳定 xff0c 时断时续 xff0c systemctl status sshd查看服务状态为activating start xff0c
  • Linux:grep命令检索文件内容详解

    前言 Linux系统中搜索 查找文件中的内容 xff0c 一般最常用的是grep命令 xff0c 另外还有egrep命令 xff0c 同时vi命令也支持文件内容检索 下面来一起看看Linux利用grep命令检索文件内容的详细介绍 方法如下
  • stm32零基础应该怎么入门?

    单片机 xff08 microcontrollers xff09 是一种集成电路芯片 xff0c 是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 多种I O口和中断系统 定时器 计数器等功能集成到一块硅片上构成的一个小而完善
  • Linux:CPU频率调节模式以及降频方法简介

    概述 cpufreq的核心功能 xff0c 是通过调整CPU的电压和频率 xff0c 来兼顾系统的性能和功耗 在不需要高性能时 xff0c 降低电压和频率 xff0c 以降低功耗 xff1b 在需要高性能时 xff0c 提高电压和频率 xf
  • Linux:rsyslog 日志丢失 messages lost due to rate-limiting

    系统日志显示 cat var log messages Apr 7 16 20 01 ngnodeb rsyslogd imjournal 154664 messages lost due to rate limiting 解决方法 修改配
  • Linux:shell 中的单行注释和多行注释

    关于 shell 中的单行注释和多行注释 单行注释 众所周知 xff0c 使用 比如想要注释 echo 34 Hello World 34 root 64 test vim test sh echo 34 Hello World 34 多行
  • Shell三剑客之sed:修改 xml

    修改前 vim config xml lt config input type verify 61 34 bool 34 name 61 34 flow bypass class 34 visible 61 34 true 34 gt fa
  • STM32串口通信

    STM32串口通信 一 基于寄存器与基于固件库编写的差异二 stm32串口通信实战1 烧录方式2 代码及效果图 三 C语言程序里全局变量 局部变量 堆 栈等概念四 stm32的堆 栈 全局变量的分配地址 一 基于寄存器与基于固件库编写的差异
  • keil下的FreeRtos多任务程序

    keil下的Freertos多任务程序 1 手动移植FreeRtos xff08 以STM32F103为例 xff09 2 直接使用野火的模板 1 手动移植FreeRtos xff08 以STM32F103为例 xff09 用该链接下载Fr
  • 随笔小记(二十七)

    神经网络中Epoch Iteration Batchsize相关理解和说明 batchsize xff1a 中文翻译为批大小 xff08 批尺寸 xff09 简单点说 xff0c 批量大小将决定我们一次训练的样本数目 batch size将

随机推荐