GlowMorm是用C复古硬件的C编写的简单类似Unix的OS,特别是Computie68k系列的计算机。它主要基于Andrew S. Tanenbaum的阅读操作系统设计和实施2,尽管我使用了整体设计,至少暂时是为了简单,这是暂时的。它可以使用68681计时器进行先发制人的多任务处理。它还具有Minix版本1文件系统的实现,该文件系统使用RAM(通过设备驱动程序)存储数据,或者使用作为IDE设备连接的紧凑型闪存卡。可以将第二个串行端口配置为滑动设备,并通过BSD插座式API对UDP和TCP进行基本实现,并提供了NTP命令,用于更新启动时(从磁盘启动时)更新系统时间。

上面的视频显示,通过现代PC连接连接,并重置硬件以在ROM中运行监视器,以显示欢迎消息。内核已经加载到RAM中,因此运行启动命令将启动内核,然后启动Shell。从外壳中显示了一些基本的文件操作和PS命令。

上面的视频显示,在首次向板上供电后,通过现代计算机连接连接。监视器首先运行,给出“>”提示。在地址0x20000处,引导加载程序已被燃烧成闪光灯。从监视器中,运行引导加载程序,然后从附加的紧凑型闪存卡加载内核。打印的每个时期(。)字符代表从磁盘加载的数据的1千字节)。然后,启动加载程序跳到已加载的内核,该内核在从磁盘运行初始化过程之前显示引导消息。 INIT进程首先运行sh /etc/rc ,它运行NTPDATE命令以更新系统时间。然后运行一个交互式壳。
启动后显示了一些命令,然后运行HTTPD程序(暂时禁用该程序)。从另一台计算机中,运行curl命令向董事会发出请求。 HTTPD程序用数据“这是秘密消息”响应
要编译内核以通过串行传输,请运行:
make kernel.load它可以像监视器一样通过串行发送。如果您使用没有CompactFlash卡的板,则可能需要在src/kernel/main.c中修改内核配置,或者不想使用网络。
可以使用环回设备构建图像,并以下命令:
make create-image
make mount-image
make build-system
make umount-image它将使用build/目录作为MountPoint和Minix1文件系统在minix-build.img中产生20MB磁盘图像。它不包括分区表,因此需要通过其他方式在闪存驱动器上创建。它可以使用类似Unix的桌面上的dd写入特定于分区的块设备文件。
为了直接启动CompactFlash,可以将boot.load脚本加载到串行中并写入替代位置,例如0x020000 。它必须是在Flash Chip扇区之外的位置,在其中写了监视器,否则系统将无法引导。 boot.bin映像不包含像Monitor.bin Image所做的矢量表。
通过串行发送boot.load文件后,在监视器中不运行该文件后,运行以下内容:
eraserom 20000
writerom 20000
verifyrom 20000然后,您可以随时从监视器启动:
boot 20000引导加载程序将对从磁盘加载到RAM的每1K内核图像的每1K映像中打印一个周期字符,然后将其运行内核。如果有效,您应该看到心跳LED闪烁以表明内核正在运行,并且启用了多处理和切换。
如果第二个串行端口连接到桌面,它将像滑动连接一样,可以将其桥接到桌面的网络中,其中/dev/ttyUSB1是连接到董事会第二个串行端口的串行设备,而192.168.1.x是本地网络,ENP3S0是Internet网络网络互联网互联网络桌面的网络台面The Linux the linux duxce inux the linux duxpop on linux dound dound dound dound台面:
sudo slattach -s 38400 -p slip /dev/ttyUSB1
sudo ifconfig sl0 192.168.1.2 pointopoint 192.168.1.200 up
# (this is automatically added on my machine, but might be required) sudo route add -host 192.168.1.200 sl0
sudo arp -Ds 192.168.1.200 enp3s0 pub
sudo iptables -A FORWARD -i sl0 -j ACCEPT
sudo iptables -A FORWARD -o sl0 -j ACCEPT
sudo sh -c " echo 1 > /proc/sys/net/ipv4/ip_forward "该设备将具有IP 192.168.1.200它也需要在底部的内核src/kernel/main.c函数中配置。