Gloworm เป็นระบบปฏิบัติการแบบ UNIX แบบง่าย ๆ ที่เขียนใน C สำหรับฮาร์ดแวร์ย้อนยุคโดยเฉพาะคอมพิวเตอร์ซีรีย์ Computie68K ส่วนใหญ่ขึ้นอยู่กับการออกแบบระบบปฏิบัติการและการใช้งาน 2ed โดย Andrew S. Tanenbaum แม้ว่าฉันจะไปกับการออกแบบเสาหินอย่างน้อยก็ในเวลานั้นเพื่อความเรียบง่ายของมัน มันสามารถทำมัลติทาสก์ล่วงหน้าโดยใช้ตัวจับเวลา 68681 นอกจากนี้ยังมีการใช้งานระบบไฟล์ Minix เวอร์ชัน 1 ซึ่งใช้ RAM (ผ่านไดรเวอร์อุปกรณ์) เพื่อจัดเก็บข้อมูลหรือแฟลชการ์ดขนาดกะทัดรัดที่เชื่อมต่อเป็นอุปกรณ์ IDE พอร์ตอนุกรมที่สองสามารถกำหนดค่าเป็นอุปกรณ์ลื่นโดยมีการใช้งานขั้นพื้นฐานของ UDP และ TCP ผ่าน API สไตล์ซ็อกเก็ต BSD และคำสั่ง NTP มีไว้สำหรับการอัปเดตเวลาของระบบบนการบูต (เมื่อบูตจากดิสก์)

วิดีโอด้านบนแสดงการเชื่อมต่ออนุกรมจากพีซีที่ทันสมัยและรีเซ็ตฮาร์ดแวร์เพื่อเรียกใช้จอภาพใน ROM ซึ่งแสดงข้อความต้อนรับ เคอร์เนลถูกโหลดใน RAM แล้วดังนั้นการเรียกใช้คำสั่ง boot จะบูตเคอร์เนลซึ่งจะเริ่มเชลล์ จากเชลล์การดำเนินการไฟล์พื้นฐานและคำสั่ง PS จะปรากฏขึ้น

วิดีโอด้านบนแสดงการเชื่อมต่อกับอนุกรมจากคอมพิวเตอร์ที่ทันสมัยหลังจากเปิดเครื่องครั้งแรก จอภาพทำงานก่อนให้พรอมต์ ">" bootloader ถูกเผาเป็นแฟลชที่ที่อยู่ 0x20000 จากจอภาพจะเรียกใช้ตัวโหลดบูตซึ่งจะโหลดเคอร์เนลจากการ์ดแฟลชขนาดกะทัดรัดที่แนบมา แต่ละช่วงเวลา (.) อักขระที่พิมพ์แสดงถึงข้อมูล 1 กิโลไบต์ที่โหลดจากดิสก์) ตัวโหลดบูตจะข้ามไปยังเคอร์เนลที่โหลดซึ่งจะแสดงข้อความบูตก่อนที่จะเรียกใช้กระบวนการเริ่มต้นจากดิสก์ กระบวนการ init แรกเรียกใช้ sh /etc/rc "ซึ่งเรียกใช้คำสั่ง ntpdate เพื่ออัปเดตเวลาของระบบจากนั้นจะทำงานเชลล์แบบโต้ตอบ
คำสั่งบางคำจะแสดงหลังจากบูตจากนั้นโปรแกรม HTTPD จะถูกเรียกใช้ (ซึ่งมีการปิดใช้งาน Forking ในขณะนี้) จากคอมพิวเตอร์เครื่องอื่นคำสั่ง Curl จะเรียกใช้เพื่อออกคำขอไปยังบอร์ด โปรแกรม HTTPD ตอบกลับด้วยข้อมูล "นี่คือข้อความลับ"
เพื่อรวบรวมเคอร์เนลสำหรับการถ่ายโอนผ่านอนุกรม, Run:
make kernel.load มันสามารถส่งผ่านอนุกรมเช่นจอภาพ คุณอาจต้องการแก้ไขการกำหนดค่าเคอร์เนลใน src/kernel/main.c หากคุณใช้บอร์ดที่ไม่มีการ์ด CompactFlash หรือคุณไม่ต้องการใช้เครือข่าย
สามารถสร้างภาพได้โดยใช้อุปกรณ์ loopback และทำตามคำสั่ง:
make create-image
make mount-image
make build-system
make umount-image ซึ่งจะผลิตภาพดิสก์ 20MB ใน minix-build.img โดยใช้ build/ Directory เป็น MountPoint และระบบไฟล์ Minix1 ไม่รวมตารางพาร์ติชันดังนั้นจึงจำเป็นต้องสร้างบนแฟลชไดรฟ์ด้วยวิธีอื่น สามารถเขียนไปยังไฟล์อุปกรณ์บล็อกเฉพาะพาร์ติชันโดยใช้ dd บนเดสก์ท็อปที่เหมือน UNIX
เพื่อที่จะบูตออกจาก CompactFlash โดยตรงสคริปต์ boot.load สามารถโหลดผ่านอนุกรมและเขียนไปยังตำแหน่งอื่นเช่น 0x020000 มันจะต้องเป็นสถานที่ที่อยู่นอกภาคของแฟลชชิปที่มีการเขียนจอภาพหรืออื่น ๆ ระบบจะไม่สามารถบูตได้ อิมเมจ boot.bin ไม่มีตารางเวกเตอร์เช่นภาพ monitor.bin ทำ
หลังจากส่งไฟล์ boot.load ผ่านอนุกรมโดยไม่ต้องรันในจอภาพรันต่อไปนี้:
eraserom 20000
writerom 20000
verifyrom 20000จากนั้นคุณสามารถบูตจากจอภาพได้ตลอดเวลาโดยการทำงาน:
boot 20000bootloader จะพิมพ์อักขระระยะเวลาสำหรับทุก ๆ 1k ของภาพเคอร์เนลที่โหลดจากดิสก์ไปยัง RAM และจากนั้นมันจะเรียกใช้เคอร์เนลหลังจาก หากใช้งานได้คุณควรเห็นไฟ LED หัวใจวายเพื่อระบุว่าเคอร์เนลกำลังทำงานอยู่และเปิดใช้งานการประมวลผลหลายครั้งและสลับ
หากพอร์ตอนุกรมที่สองเชื่อมต่อกับเดสก์ท็อปมันจะทำหน้าที่เหมือนการเชื่อมต่อสลิปซึ่งสามารถเชื่อมต่อกับเครือข่ายของเดสก์ท็อปโดยที่ /dev/ttyUSB1 เป็นอุปกรณ์อนุกรมที่เชื่อมต่อกับพอร์ตอนุกรมที่สองของบอร์ดและ 192.168.1.x เป็นเครือข่ายท้องถิ่น
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 ของเคอร์เนลที่ด้านล่าง