173 Star 999 Fork 231

GVP泰晓科技 / Linux Lab

 / 详情

Linux Lab 正在新增对 Linux Lab Disk 的支持

Done
owner
Opened this issue  
2021-01-31 01:01

该 Issue 用于管理 Linux Lab Disk 的开发工作,目标是制作一个 “开箱即用” 的 Linux Lab,降低对网络的依赖。

本次 Linux Lab Disk 作为 Linux Lab v0.7 的主要开发内容,跟 Linux Lab 本身一样,该盘基础系统初步选定为 Ubuntu 20.04,方便内外保持使用一致性。

抢先体验 Linux Lab Disk

首批已经制作完,会打 Logo 哦,继企鹅水杯之后,又一款生动的纪念品~

--> 大家可以进某宝检索 “ Linux Lab 真盘 ”,有多个不同外观、速度和容量的款色可以选择。也可以直接进 泰晓科技自营店 直接选购。

快速上手体验演示视频

初步录制了一个上手小视频,欢迎观摩:Linux Lab Disk 快速上手

如何参与该项目开发工作

请先提前订购该盘,订购后可申请参与 Linux Lab Disk 开发,并受邀进开发者群组。

Linux Lab Disk = 
   >= 64G U盘(普通/固态) +
   >= 完整 Linux 内核与嵌入式 Linux 开发环境 +
   >= 数十块虚拟开发板 +
   >= 若干真实硬件开发板级支持 +
   >= 7 大全球与国内最主流的处理器架构 +
   启动盘 +
   安装盘 +
   急救盘 +
   车载音乐盘 +
   Your Imagination

目前已经完成的功能

  1. 能够开机从 U 盘启动,所以能做启动盘、安装盘和急救盘
  2. 开机后,可以直接点击桌面图标启动 Linux Lab 并自动进入图形化界面,然后全屏,用 ESC 退出。
  3. 启动 Linux Lab 后可以点击桌面图标进入开发终端,Everything is ready. 仅需参考 README_zh.md 文档或者 Linux 视频公开课 就可以跟平时一样开展各种开发。
  4. 安装了基础的必备工具(Linux Lab 必备)
  5. 卸载掉一些完全用不上的软件或者文件

TODO

  1. 从 “开箱即用” 到 “开机即用”
  2. 开机启动速度优化
  3. 优化下载体验
  4. 解决现有的小问题
  5. 编译速度优化
  6. 集成更多的开发工具
  7. 解决在 Linux Lab Disk 使用后到 Windows 下时钟差 8 个小时的问题,可参考这里

Enjoy~
Welcome~

+12

Comments (8)

吴章金 created任务
吴章金 set related repository to 泰晓科技/Linux Lab
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 changed description
吴章金 set top level to High
吴章金 set priority to Main
吴章金 changed description
展开全部操作日志

已经可以在 Windows 系统中直接启动了,需要安装 Virtualbox 即可,直接从 Linux Lab Disk 启动,不需要安装:

Windows下直接启动效果图

Dell 台式机
F12 进入 Boot,选择 USB。
分辨率最大:1024x768。
Wi-Fi 可正常连接。
Linux Lab 网页下面有部分不可用。
执行 tools/docker/resize 后网页正常。

macOS:
Option 开机,选择 EFI Boot

EFI Boot
macOS

Dell 台式机
F12 进入 Boot,选择 USB。
分辨率最大:1024x768。
Wi-Fi 可正常连接。
Linux Lab 网页下面有部分不可用。
执行 tools/docker/resize 后网页正常。

@iOSDevLog 分辨率目前没有根据设备差异做自动检测,后面更新一下。

Dell M4800 UEFI Only

启动项会出现三个 U 盘的启动项

第一次启动接 U 盘启动是两个启动项,进入后 运行 Ubuntu 启动项,后 reboot
第二次启动 U 盘启动项变成三个。

博通网卡没有网卡驱动

安装博通的网卡驱动

sudo apt install bcmwl-kernel-source

安装后能检测到网卡驱动,还能链接无线网络。
重启后,无线网卡无法识别。

触摸板驱动不是很好用

可以试试 xf86-input-synaptics
注:我在 ArchLinux 下使用的是这个包,Ubuntu 的包名还没查询,需要验证。

安装 Nvida 私有驱动

现在是屏幕黑的
F1 窗口无显示
Ctrl+Atl+F2~F7
切换过去在 F3 下会出现终端
但是显示几秒后就又黑了

补充:解决黑屏启动不了的方法

前提条件:将 Linux Lab Disk 挂载到一台 Linux 设备下或进入 Linux Lab DiskSafe (安全启动模式)

下面举例将 Linux Lad Disk 挂载我本地的 Arch Linux下进行处理

  • 查看 Linux Lab Disk 设备路径
sudo fdisk -l
# 找到 /dev/sdX5 这个磁盘分区
  • 将该磁盘挂载到 /mnt 或其他自己喜欢的位置
sudo mount /dev/sdX5 /mnt
  • 修改无线网卡的驱动加载信息
sudo vim /mnt/upper/etc/modprobe.d/*wl.conf
# 在下面能找到无线网卡的配置文件,以实际个人文件为准
# 注释里面 blacklist 的驱动信息
# 保存并退出
  • 卸载该分区
sudo umount -R /mnt

使用 Linux Lab Disk 启动

  • 启动选项选第一个进入
  • 默认启动的 Ctrl+Alt+F1 窗口应该是黑屏,使用 Ctrl+Alt+F2Ctrl+Alt+F2~F7切换窗口
  • 使用登录名 ubuntu 进行登录,登录成功后
  • 卸载博通的网卡驱动和 Nvida 的驱动
sudo apt remove bcmwl-kernel-source
sudo apt remove nvida*
sudo apt autoremove
reboot
  • 重启再进去应该能正常启动到桌面

  • 导致无法启动并黑屏的原因,推测是 Linux Lab Disk 用的是 Ubuntu 启动盘,更新系统后内核版本和驱动版本不兼容导致。具体也要看看是驱动装错了还是启动盘的 Linux 是稳定版不是长期支持版,

  • 由于 Linux Lab Disk 是用 mkusb 写盘制作。里面的文件系统不支持 chroot 方式访问挂载,

DNS 修改

默认的 nameserver127.0.0.0 会出现一些域名无法解析的问题。
sudo cat > /etc/resolv.conf << EOF
nameserver=223.5.5.5
EOF

如果是使用 systemd 管理 DNS 的话 修改 systemed-resolved 的 DNS 地址

sudo systemctl edit systemed-resolved
DNS=223.5.5.5
sudo systemctl reload systemed-resolved
sudo systemctl restart systemed-resolved

systemd 模式是 nano 编辑器不是很好用。
可以修改成 vim

echo $SYSTEMD_EDITOR
# 修改用户
echo 'export SYSTEMD_EDITOR="/usr/bin/vim"' >> .xprofile
# 修改系统
sudo echo 'export SYSTEMD_EDITOR="/usr/bin/vim"' >> /etc/profile
source .profile
echo $SYSTEMD_EDITOR

在没有无线网卡驱动和有线网络连接的情况下如何联网安装软件包

Android 在开发者模式中开启 USB 调试。通过 USB 线连接到电脑。
再开发者模式中选择 USB 默认链接方式为:USB 网络共享
此时电脑会识别到有线网卡已接入。
可以进行相应网络测试:

ping baidu.com
# 如果没有修改 DNS 解析设置,会出现解析失败的问题。
nslookup baidu.com
tracerouter baidu.com

建议:Linux Lab Disk 内置的 Ubuntu 系统在同一局域网不能识别 Windows 的网络共享。以后后续能加入局域网网络设备的共享访问功能。 NAS Web 的服务能正常访问,本地挂载 NAS 服务的共享文件夹这还没测试。如果有内置 Samba 服务的话应该是能直接访问并挂载。

Linux 下通过 Virtualbox 启动 Linux-Lab-Disk

  • 插入 Linux-Lab-Disk 确认 Linux-Lab-Disk 在 Linux 下那个设备目录下
df
# 或
sudo fdisk -l
  • 获取 Linux-Lab-Disk 的读写权限(注:内核更新/重新开关机/VBox 提示无权限启动,都需要再次赋予 rw 权限)
# 此处以在 /dev/sdc 为例
sudo chmod o+rw /dev/sdc
  • 使用 VBoxManage 创建 Linux-Lab-Disk 的虚拟硬盘镜像
VBoxManage internalcommands createrawvmdk -filename Linux_Lab.vmdk -rawdisk /dev/sdc
  • 运行 virtualbox 添加 Linux-Lab-Disk 的虚拟硬盘镜像
    添加虚拟硬盘镜像

  • 创建一个 Ubuntu 64 位 的虚拟机(启用 EIF)并将 Linux-Lab-Disk 的虚拟硬盘镜像挂载到相应磁盘位置
    挂载虚拟硬盘镜像

  • 启动 Ubuntu 64 位 的虚拟机即可从 Linux-Lab-Disk 运行
    EFI 加载界面
    Linux-Lab-Disk 界面

  • 分辨率可以通过 VBox 的窗口修改分辨率大小。

真盘可以改成 vdi/vhd/ 虚拟镜像配合 Ventoy 启动

既能省空间又能提高速度,更便于迁移,能解决 Linux /Windows 的启动问题,以后迁移扩展磁盘也是比较方便。

https://www.ventoy.net/cn/plugin_vtoyboot.html

磁盘格式优化

  • 变更为 LVM 磁盘格式

README 中的命令更新

  • 对 server 命令进行补充
    • SysV 使用 service 命令
    • systemd 使用 systemctl 命令
吴章金 changed description
吴章金 changed description

Dell XPS 9550
F12 进入 Boot,选择 USB。
分辨率最大:1920X1080。
Wi-Fi 可正常连接。
WIN10 X64下VirtualBox也正常进入.
U盘:三星128G

吴章金 changed description
吴章金 changed description

在不同平台下都可以通过 Virtualbox 来创建映射到 Linux Lab Disk 的虚拟镜像来启动,可以参考:
https://www.serverwatch.com/guides/using-a-physical-hard-drive-with-a-virtualbox-vm/

注意:记得把 virtualbox 分配的内存调大一些,比如 4096M,否则启动可能会黑屏

For Windows(设备编号可以从 wmic 命令获取:wmic diskdrive list brief ):

VBoxManage internalcommands createrawvmdk -filename "C:Users<user_name>VirtualBox VMs<VM_folder_name><file_name>.vmdk" -rawdisk .PhysicalDrive#

For Linux:

VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/sdX

For Mac OS X:

VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/disk#

也可以用 Qemu(注:2021年3月底以及之前的批次是禁止了 Linux Lab Disk 通过 Qemu 启动的),经验证在 Qemu 下可以这么使用(需要安装 Qemu System):

kvm -drive file=/dev/sdx,format=raw,index=0,media=disk -m 4G

Qemu 默认分配的内存比较小,需要加大一些,否则会提示内存过小无法启动。

参考:https://unix.stackexchange.com/questions/37779/how-do-i-boot-from-a-liveusb-using-qemu-kvm

在不同平台下都可以通过 Virtualbox 来创建映射到 Linux Lab Disk 的虚拟镜像来启动,可以参考:
https://www.serverwatch.com/guides/using-a-physical-hard-drive-with-a-virtualbox-vm/
For Windows(设备编号可以从 wmic 命令获取:wmic diskdrive list brief ):
VBoxManage internalcommands createrawvmdk -filename "C:Users<user_name>VirtualBox VMs<VM_folder_name><file_name>.vmdk" -rawdisk .PhysicalDrive#
For Linux:
VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/sdX
For Mac OS X:
VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/disk#
也可以用 Qemu(注:2021年3月底以及之前的批次是禁止了 Linux Lab Disk 通过 Qemu 启动的),经验证在 Qemu 下可以这么使用(需要安装 Qemu System):
kvm -drive file=/dev/sdx,format=raw,index=0,media=disk -m 4G
Qemu 默认分配的内存比较小,需要加大一些,否则会提示内存过小无法启动。
参考:https://unix.stackexchange.com/questions/37779/how-do-i-boot-from-a-liveusb-using-qemu-kvm

@吴章金 macOS 下会自动挂载 disk 到 /Volumes/usbdata。需要先推出,打开 EFI。

$ VBoxManage internalcommands createrawvmdk -filename  "/tmp/LinuxLabDisk.vmdk" -rawdisk /dev/disk2
RAW host disk access VMDK file /tmp/LinuxLabDisk.vmdk created successfully.

网络:桥接

macOS

vmware 支持验证,需要新版 Linux Lab Disk 配合。

可以类似 Virtualbox 创建虚拟磁盘镜像:

cd /Applications/VMware\ Fusion.app/Contents/Library
./vmware-rawdiskCreator create /dev/disk2 fullDevice ~/Documents/usb ide

然后在 vmware 新增虚拟机,开启 UEFI,系统设置为 Ubuntu,之后,在生成 .vmx 中追加如下配置:

ide0:0.present = "TRUE"
ide0:0.fileName = "usb.vmdk"
ide0:0.deviceType = "rawDisk"
suspend.disabled = "TRUE"

可参考:https://zhuanlan.zhihu.com/p/360857899

吴章金 changed issue state from 待办的 to 已完成
吴章金 changed top level from High to Not top

Sign in to comment

状态
Assignees
Milestones
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
Branches
Planed to start   -   Planed to end
-
Top level
Priority
参与者(4)
5069540 wuzhangjin 1594531572 672838 taotieren 1578930501
Shell
1
https://gitee.com/tinylab/linux-lab.git
git@gitee.com:tinylab/linux-lab.git
tinylab
linux-lab
Linux Lab

Search

102255 3a0e046c 1850385 102255 7aaa926c 1850385