froggey / mezzano Goto Github PK
View Code? Open in Web Editor NEWAn operating system written in Common Lisp
License: MIT License
An operating system written in Common Lisp
License: MIT License
It looks interesting, but is lacking in documentation.
How do we use it using, e.g. kvm?
What is its history, and relationship (if any) with previous projects like movitz?
What are the strong and weak points of the implementation?
How do you handle (if at all) things like threads and/or first-class continuations?
When I open the McCLIM demo it is unresponsive and the window cannot be closed. I am using VirtualBox 6.0.6_Ubuntu r129722.
I'm just starting to become familiar with Common Lisp, but I'm not past the newbie stage yet. From my perspective, it is non-obvious how to get started playing with Mezzano.
As a newb, my current mental model is such that the following are confusing:
I'm about to clone the repo and start playing so I'll soon have answers to the following things, but BEFORE I do that my confusion is currently:
As you can see I'm being intentionally dumb, but I do so in hopes that this newb's perspective is useful. :)
see the fix along the pull #34
Inside VirtualBox, I have set the emulated soundcard to Intel HDA, but I get no sound in Quake or Doom. Is this because the games are compiled without sound, or because or other issue that I am missing?
When I run "make cold-image-vmdk" , it doesn't fully compile, and I get a "Bad LLF version 13, wanted version 14."
Here is a log from QEMU. Mezzano is picked automatically from the boot menu and after a few seconds it goes goes back. VirtualBox notices a crash. Tried initially without sudo, but the result is the same.
[lisps-user@pandora Mezzano]$ sudo qemu-system-x86_64 -hda mezzano.image -m 512 -vga std -serial stdio -net user -net nic,model=virtio
WARNING: Image format was not specified for 'mezzano.image' and probing guessed raw.
Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
Specify the 'raw' format explicitly to remove the restrictions.
memory: added range 0x1000-0x9f000 (type: 0)
memory: added range 0x100000-0x1ffe0000 (type: 0)
memory: initial memory map:
0x0000000000001000-0x000000000004b000: Internal
0x000000000004b000-0x000000000009f000: Free
0x0000000000100000-0x000000001ffe0000: Free
disk: boot device ID is 0x80, partition offset is 0x8
disk: found MSDOS partition 0:
type: 0x83
start_lba: 8
num_sects: 2040
ext2: mounted (hd0,0) (uuid: 7f64b2de-b84e-4573-b676-631996dbeb69)
disk: found MSDOS partition 1:
type: 0x83
start_lba: 2048
num_sects: 522240
disk: added device hd0 (id: 0x80, sector_size: 512, sector_count: 524288)
vbe: vbe presence was detected:
signature: VESA
version: 3.0
capabilities: 0x1
mode pointer: 0x1022
total memory: 16384KB
OEM revision: 0x0
mezzanine: Loading image 5cf6ee79-2cdf-05a1-ba4b-6325c41a5f10 on device (hd0,1) with protocol version 0.21
mezzanine: Entry fref at 002362d9. Initial process at 002047f9.
loader: booting menu entry 'Mezzanine'
mezzanine: Map E820 region 0000000000000000-000000000009fc00 0000000000000000-00000000000a0000
mezzanine: Map E820 region 000000000009fc00-00000000000a0000 000000000009f000-00000000000a0000
mezzanine: Map E820 region 00000000000f0000-0000000000100000 00000000000f0000-0000000000100000
mezzanine: Map E820 region 0000000000100000-000000001ffe0000 0000000000100000-000000001ffe0000
mezzanine: Map E820 region 000000001ffe0000-0000000020000000 000000001ffe0000-0000000020000000
mezzanine: Map E820 region 00000000fffc0000-0000000100000000 00000000fffc0000-0000000100000000
mezzanine: Final memory map:
0000000000000000-00000000000a0000
00000000000f0000-0000000020000000
00000000fffc0000-0000000100000000
mezzanine: info range ffff808000000000-ffff808000002000
mezzanine: info range ffff808000001000-ffff808000400000
mezzanine: info range ffff808001fff000-ffff808002000000
mezzanine: extent 0 0000000000200000 7fe00000 0000
mezzanine: extent 1 0000200000000000 80000000 0000
mezzanine: Using 1024x768 video mode, layout 1, pitch 4096, fb at fd000000
vbe: set VBE mode 0x144: 1024x768x32 (framebuffer: 0xfd000000)
memory: final memory map:
0x0000000000001000-0x000000000004b000: Free
0x000000000004b000-0x000000000004c000: Pagetables
0x000000000004c000-0x000000000004d000: Free
0x000000000004d000-0x0000000000058000: Pagetables
0x0000000000058000-0x000000000005c000: Free
0x000000000005c000-0x000000000005f000: Pagetables
0x000000000005f000-0x0000000000060000: Free
0x0000000000060000-0x0000000000061000: Pagetables
0x0000000000061000-0x0000000000062000: Free
0x0000000000062000-0x0000000000063000: Pagetables
0x0000000000063000-0x0000000000064000: Free
0x0000000000064000-0x0000000000065000: Pagetables
0x0000000000065000-0x0000000000066000: Free
0x0000000000066000-0x0000000000067000: Pagetables
0x0000000000067000-0x0000000000068000: Free
0x0000000000068000-0x0000000000069000: Pagetables
0x0000000000069000-0x000000000006a000: Free
0x000000000006a000-0x000000000006b000: Pagetables
0x000000000006b000-0x000000000006c000: Free
0x000000000006c000-0x000000000006d000: Pagetables
0x000000000006d000-0x000000000006e000: Free
0x000000000006e000-0x000000000006f000: Pagetables
0x000000000006f000-0x0000000000070000: Free
0x0000000000070000-0x0000000000071000: Pagetables
0x0000000000071000-0x0000000000072000: Free
0x0000000000072000-0x0000000000073000: Pagetables
0x0000000000073000-0x0000000000074000: Free
0x0000000000074000-0x0000000000075000: Pagetables
0x0000000000075000-0x0000000000078000: Free
0x0000000000078000-0x000000000007b000: Pagetables
0x000000000007b000-0x000000000007c000: Free
0x000000000007c000-0x000000000007d000: Pagetables
0x000000000007d000-0x000000000007e000: Free
0x000000000007e000-0x000000000007f000: Pagetables
0x000000000007f000-0x0000000000080000: Free
0x0000000000080000-0x0000000000081000: Pagetables
0x0000000000081000-0x0000000000082000: Free
0x0000000000082000-0x0000000000083000: Pagetables
0x0000000000083000-0x0000000000084000: Free
0x0000000000084000-0x0000000000085000: Pagetables
0x0000000000085000-0x0000000000086000: Free
0x0000000000086000-0x0000000000087000: Pagetables
0x0000000000087000-0x0000000000088000: Free
0x0000000000088000-0x0000000000089000: Pagetables
0x0000000000089000-0x000000000009f000: Free
0x0000000000100000-0x00000000020a3000: Allocated
0x00000000020a3000-0x000000001ffe0000: Free
32-bit buddy allocator:
Order 12 2 0000000000004146:
00000000020a3000-00000000020a4000 0000000000200009 0000000000200009
Order 13 0 0000000000200009:
Order 14 2 0000000000004148:
00000000020a4000-00000000020a8000 0000000000200009 0000000000200009
Order 15 2 0000000000004150:
00000000020a8000-00000000020b0000 0000000000200009 0000000000200009
Order 16 2 0000000000004160:
00000000020b0000-00000000020c0000 0000000000200009 0000000000200009
Order 17 2 000000000003ff80:
000000001ffc0000-000000001ffe0000 0000000000200009 0000000000200009
Order 18 4 000000000003ff00:
000000001ff80000-000000001ffc0000 0000000000004180 0000000000200009
00000000020c0000-0000000002100000 0000000000200009 000000000003ff00
Order 19 2 000000000003fe00:
000000001ff00000-000000001ff80000 0000000000200009 0000000000200009
Order 20 4 000000000003fc00:
000000001fe00000-000000001ff00000 0000000000004200 0000000000200009
0000000002100000-0000000002200000 0000000000200009 000000000003fc00
Order 21 4 000000000003f800:
000000001fc00000-000000001fe00000 0000000000004400 0000000000200009
0000000002200000-0000000002400000 0000000000200009 000000000003f800
Order 22 4 000000000003f000:
000000001f800000-000000001fc00000 0000000000004800 0000000000200009
0000000002400000-0000000002800000 0000000000200009 000000000003f000
Order 23 4 000000000003e000:
000000001f000000-000000001f800000 0000000000005000 0000000000200009
0000000002800000-0000000003000000 0000000000200009 000000000003e000
Order 24 4 000000000003c000:
000000001e000000-000000001f000000 0000000000006000 0000000000200009
0000000003000000-0000000004000000 0000000000200009 000000000003c000
Order 25 2 0000000000038000:
000000001c000000-000000001e000000 0000000000200009 0000000000200009
Order 26 4 0000000000030000:
0000000018000000-000000001c000000 0000000000008000 0000000000200009
0000000004000000-0000000008000000 0000000000200009 0000000000030000
Order 27 4 0000000000020000:
0000000010000000-0000000018000000 0000000000010000 0000000000200009
0000000008000000-0000000010000000 0000000000200009 0000000000020000
Order 28 0 0000000000200009:
Order 29 0 0000000000200009:
Order 30 0 0000000000200009:
Order 31 0 0000000000200009:
64-bit buddy allocator:
Order 12 0 0000000000200009:
Order 13 0 0000000000200009:
Order 14 0 0000000000200009:
Order 15 0 0000000000200009:
Order 16 0 0000000000200009:
Order 17 0 0000000000200009:
Order 18 0 0000000000200009:
Order 19 0 0000000000200009:
Order 20 0 0000000000200009:
Order 21 0 0000000000200009:
Order 22 0 0000000000200009:
Order 23 0 0000000000200009:
Order 24 0 0000000000200009:
Order 25 0 0000000000200009:
Order 26 0 0000000000200009:
Order 27 0 0000000000200009:
Order 28 0 0000000000200009:
Order 29 0 0000000000200009:
Order 30 0 0000000000200009:
Order 31 0 0000000000200009:
Order 32 0 0000000000200009:
Order 33 0 0000000000200009:
Order 34 0 0000000000200009:
Order 35 0 0000000000200009:
Order 36 0 0000000000200009:
Order 37 0 0000000000200009:
Order 38 0 0000000000200009:
mezzanine: Starting system...
memory: added range 0x1000-0x9f000 (type: 0)
memory: added range 0x100000-0x1ffe0000 (type: 0)
memory: initial memory map:
0x0000000000001000-0x000000000004b000: Internal
0x000000000004b000-0x000000000009f000: Free
0x0000000000100000-0x000000001ffe0000: Free
disk: boot device ID is 0x80, partition offset is 0x8
disk: found MSDOS partition 0:
type: 0x83
start_lba: 8
num_sects: 2040
ext2: mounted (hd0,0) (uuid: 7f64b2de-b84e-4573-b676-631996dbeb69)
disk: found MSDOS partition 1:
type: 0x83
start_lba: 2048
num_sects: 522240
disk: added device hd0 (id: 0x80, sector_size: 512, sector_count: 524288)
vbe: vbe presence was detected:
signature: VESA
version: 3.0
capabilities: 0x1
mode pointer: 0x1022
total memory: 16384KB
OEM revision: 0x0
mezzanine: Loading image 5cf6ee79-2cdf-05a1-ba4b-6325c41a5f10 on device (hd0,1) with protocol version 0.21
mezzanine: Entry fref at 002362d9. Initial process at 002047f9.
loader: booting menu entry 'Mezzanine'
mezzanine: Map E820 region 0000000000000000-000000000009fc00 0000000000000000-00000000000a0000
mezzanine: Map E820 region 000000000009fc00-00000000000a0000 000000000009f000-00000000000a0000
mezzanine: Map E820 region 00000000000f0000-0000000000100000 00000000000f0000-0000000000100000
mezzanine: Map E820 region 0000000000100000-000000001ffe0000 0000000000100000-000000001ffe0000
mezzanine: Map E820 region 000000001ffe0000-0000000020000000 000000001ffe0000-0000000020000000
mezzanine: Map E820 region 00000000fffc0000-0000000100000000 00000000fffc0000-0000000100000000
mezzanine: Final memory map:
0000000000000000-00000000000a0000
00000000000f0000-0000000020000000
00000000fffc0000-0000000100000000
mezzanine: info range ffff808000000000-ffff808000002000
mezzanine: info range ffff808000001000-ffff808000400000
mezzanine: info range ffff808001fff000-ffff808002000000
mezzanine: extent 0 0000000000200000 7fe00000 0000
mezzanine: extent 1 0000200000000000 80000000 0000
mezzanine: Using 1024x768 video mode, layout 1, pitch 4096, fb at fd000000
vbe: set VBE mode 0x144: 1024x768x32 (framebuffer: 0xfd000000)
memory: final memory map:
0x0000000000001000-0x000000000004b000: Free
0x000000000004b000-0x000000000004c000: Pagetables
0x000000000004c000-0x000000000004d000: Free
0x000000000004d000-0x0000000000058000: Pagetables
0x0000000000058000-0x000000000005c000: Free
0x000000000005c000-0x000000000005f000: Pagetables
0x000000000005f000-0x0000000000060000: Free
0x0000000000060000-0x0000000000061000: Pagetables
0x0000000000061000-0x0000000000062000: Free
0x0000000000062000-0x0000000000063000: Pagetables
0x0000000000063000-0x0000000000064000: Free
0x0000000000064000-0x0000000000065000: Pagetables
0x0000000000065000-0x0000000000066000: Free
0x0000000000066000-0x0000000000067000: Pagetables
0x0000000000067000-0x0000000000068000: Free
0x0000000000068000-0x0000000000069000: Pagetables
0x0000000000069000-0x000000000006a000: Free
0x000000000006a000-0x000000000006b000: Pagetables
0x000000000006b000-0x000000000006c000: Free
0x000000000006c000-0x000000000006d000: Pagetables
0x000000000006d000-0x000000000006e000: Free
0x000000000006e000-0x000000000006f000: Pagetables
0x000000000006f000-0x0000000000070000: Free
0x0000000000070000-0x0000000000071000: Pagetables
0x0000000000071000-0x0000000000072000: Free
0x0000000000072000-0x0000000000073000: Pagetables
0x0000000000073000-0x0000000000074000: Free
0x0000000000074000-0x0000000000075000: Pagetables
0x0000000000075000-0x0000000000078000: Free
0x0000000000078000-0x000000000007b000: Pagetables
0x000000000007b000-0x000000000007c000: Free
0x000000000007c000-0x000000000007d000: Pagetables
0x000000000007d000-0x000000000007e000: Free
0x000000000007e000-0x000000000007f000: Pagetables
0x000000000007f000-0x0000000000080000: Free
0x0000000000080000-0x0000000000081000: Pagetables
0x0000000000081000-0x0000000000082000: Free
0x0000000000082000-0x0000000000083000: Pagetables
0x0000000000083000-0x0000000000084000: Free
0x0000000000084000-0x0000000000085000: Pagetables
0x0000000000085000-0x0000000000086000: Free
0x0000000000086000-0x0000000000087000: Pagetables
0x0000000000087000-0x0000000000088000: Free
0x0000000000088000-0x0000000000089000: Pagetables
0x0000000000089000-0x000000000009f000: Free
0x0000000000100000-0x00000000020a3000: Allocated
0x00000000020a3000-0x000000001ffe0000: Free
qemu-system-x86_64: terminating on signal 2
I'm following the development of both Mezzano and nEXT Browser as interesting modern Lisp projects and am wondering if having a browser on Mezzano would be even possible at this point?
That said, I know nEXT targets UNIX OS's and currently has bindings for GTK and Cocoa for its presentation layer, so developments there would also be necessary.
Just entertaining the possibilities of bringing both together. Any thoughts?
Hello,
I recently came across Mezzano and ran it in VirtualBox. Its pretty impressive, but I had a couple of questions that I hope to get answered if you will.
Is Mezzano truly its own OS, or is it running on top of a stripped down Linux, or other?
If the OS is completely in Lisp (which I really like, by the way) then how did you get Quake and Doom to run as they run on Windows & Linux, if I remember correctly.
Lastly, I am working on an AI project in which I will use Lisp and want to get Lisp as close to the metal as possible by getting rid of any OS below it.
Any information that you could provide would be greatly appreciated.
Thanks,
Lonnie
Whenever I run with > 512M of RAM, I usually, after some time, get an out of store crash. Here's a stacktrace of one of them:
Aiiee, out of store.
20800123D7D0 4D6647
20800123D890 62CEAB
20800123D8D0 4179E3
20800123D8F0 3B8F82
20800123D9F0 4180C0
20800123DA70 3B432D
20800123DB60 4187E5
20800123DBE0 4161A4
20800123DC10 62E73F
20800123DD30 4179E3
20800123DD50 3B8F82
20800123DE50 4180C0
20800123DED0 3B432D
20800123DFC0 4187E5
20800123E040 4161A4
20800123E070 631DF8
20800123E270 63EB18
20800123E290 80992C1E
20800123E350 80A1E1E1
20800123E800 8007FD2C
20800123E830 8007F9E1
20800123E8F0 80A272C9
20800123EA00 80A1130B
20800123EA60 80B24B14
20800123EEC0 80002B2F
20800123EEE0 80A92558
20800123EF20 80BBEC4B
20800123EFA0 80BBF3ED
20800123EFE0 80BB4CED
20800123F060 80B81534
20800123F0B0 80BB462C
20800123F130 80BC0C4C
20800123F480 80C171D6
20800123F520 8007FD2C
20800123F530 809B4C1B
20800123F660 8005BAE3
20800123F680 80196051
20800123F6B0 8007F5A2
20800123F6D0 80A0C4E4
20800123FA50 80BE19DE
20800123FCB0 3CB233
20800123FCD0 3B8F82
20800123FDD0 3CB54D
20800123FE10 610449
20800123FF50 3CBD56
20800123FFF0 3CBF42
(defgeneric x () (declare (optimize (speed 3))))
Found while trying to compile cl-ppcre, which is littered with this type of defgeneric form. Closette problem?
I somehow managed to read a few minds and get things setup to the point where I could run (ql:quickload :lispos-file)
and it would do more than complain that such a thing doesn't exist. Instead, it tells me the compilation has failed. I guess it's progress, after a fashion. Here's the output:
This is SBCL 1.2.14, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (ql:quickload :lispos-file)
To load "lispos-file":
Load 1 ASDF system:
lispos-file
; Loading "lispos-file"
..........................
; file: /home/lehi/prog/common-lisp/quicklisp/local-projects/Mezzano/home/iterate-1.4.3/iterate.lisp
; in: DEFUN RETURN-COLLECTION-CODE
; (ITERATE::WITH-TEMPORARY ITERATE::TEMP-VAR
; (LET* ((ITERATE::UPDATE-CODE
; `(IF ,ITERATE::COLLECT-VAR
; #
; #))
; (ITERATE::MAIN-CODE (COND # # #)))
; (ITERATE::RETURN-CODE :BODY
; `((PROGN ,.ITERATE::MAIN-CODE ,ITERATE::COLLECT-VAR)) :FINAL
; (IF (EQ ITERATE::RESULT-TYPE 'LIST)
; NIL
; `(#)))))
;
; caught ERROR:
; during macroexpansion of
; (WITH-TEMPORARY TEMP-VAR
; (LET* #
; #)).
; Use *BREAK-ON-SIGNALS* to intercept.
;
; invalid number of arguments: 1
; file: /home/lehi/prog/common-lisp/quicklisp/local-projects/Mezzano/home/iterate-1.4.3/iterate.lisp
; in:
; DEFCLAUSE (ADJOINING EXPR &OPTIONAL INTO VAR AT (PLACE 'END) TEST
; (TEST '#'EQL) RESULT-TYPE (TYPE 'LIST))
; (ITERATE::WITH-TEMPORARY ITERATE::TEMP
; (ITERATE::RETURN-COLLECTION-CODE :VARIABLE ITERATE::VAR :EXPRESSION
; ITERATE::EXPR :START-OPERATION
; `(SUBST (ITERATE::EXPR ITERATE::VAR)
; (PROGN
; ,ITERATE::TEMP
; (ADJOIN ITERATE::EXPR ITERATE::VAR :TEST ,ITERATE::TEST)))
; :TEST `(SUBST (ITERATE::VAR ITERATE::EXPR) (PROGN (SETQ #) (NOT #)))
; :END-OPERATION `(SUBST (ITERATE::VAR ITERATE::EXPR) (LIST ,ITERATE::TEMP))
; :ONE-ELEMENT ...))
;
; caught ERROR:
; during macroexpansion of
; (WITH-TEMPORARY TEMP
; (RETURN-COLLECTION-CODE :VARIABLE VAR ...)).
; Use *BREAK-ON-SIGNALS* to intercept.
;
; invalid number of arguments: 1
.
; in:
; DEFCLAUSE (ADJOINING EXPR &OPTIONAL INTO VAR AT (PLACE 'END) TEST
; (TEST '#'EQL) RESULT-TYPE (TYPE 'LIST))
; (ITERATE::WITH-TEMPORARY ITERATE::TEMP
; (ITERATE::RETURN-COLLECTION-CODE :VARIABLE ITERATE::VAR :EXPRESSION
; ITERATE::EXPR :START-OPERATION
; `(SUBST (ITERATE::EXPR ITERATE::VAR)
; (PROGN
; ,ITERATE::TEMP
; (ADJOIN ITERATE::EXPR ITERATE::VAR :TEST ,ITERATE::TEST)))
; :TEST `(SUBST (ITERATE::VAR ITERATE::EXPR) (PROGN (SETQ #) (NOT #)))
; :END-OPERATION `(SUBST (ITERATE::VAR ITERATE::EXPR) (LIST ,ITERATE::TEMP))
; :ONE-ELEMENT ...))
;
; caught ERROR:
; during macroexpansion of
; (WITH-TEMPORARY TEMP
; (RETURN-COLLECTION-CODE :VARIABLE VAR ...)).
; Use *BREAK-ON-SIGNALS* to intercept.
;
; invalid number of arguments: 1
...
debugger invoked on a UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {1002BE6833}>:
COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "iterate" "iterate">
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry
compiling #<CL-SOURCE-FILE "iterate" "iterate">.
1: [ACCEPT ] Continue, treating
compiling #<CL-SOURCE-FILE "iterate" "iterate">
as having been successful.
2: Retry ASDF operation.
3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
configuration.
4: [ABORT ] Give up on "lispos-file"
5: Exit debugger, returning to top level.
(UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "iterate" "iterate">)))
To be fair, I do have a 4K monitor... A few lights flash before it goes silent. SWANK inactive. Nothing obvious in serial dump...
It'd be handy for people who want to hack on Mezzano to have a build script that ensures all required components are downloaded and put in the right place, and invokes SBCL with the right arguments, environment, and other configuration to generate a new system image.
Congratulations for your project, very inspiring!
Thank you!
PS: When I came to know about it (on Reddit: https://www.reddit.com/r/lisp/comments/2tmu60/mezzanine_a_common_lispbased_os_runs_under/) I was under the impression the name you chose was mezzanine
.
When I run "make kvm", all I get is a SYS.INT prompt. What does it mean?
I configured it how it was described at the download page.
First i had an error because PAE/NX was disabled.
I activated it an so it was fixed.
Then I restarted the VM.
Yet I have another error without an description.
How can I fix this?
While running "make cold-image-vmdk" I got:
...
General area at 7C01000, 8,388,608 bytes.
Cons area at 8C01000, 4,194,304 bytes.
Build successful!
VM_NAME:
VM_UUID:
DISK_UUID: 30d105c0-4f81-4617-9d52-43278d33bd85
VBoxManage storagectl "" --name IDE --remove
VBoxManage: error: Could not find a registered machine named ''
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "FindMachine(Bstr(a->argv[0]).raw(), machine.asOutParam())" at line 1045 of file VBoxManageStorageController.cpp
make: [cold-image-vmdk] Error 1 (ignored)
VBoxManage closemedium disk mezzano.vmdk
rm -f mezzano.vmdk
VBoxManage convertfromraw --format vmdk mezzano.image mezzano.vmdk
Converting from raw image file="mezzano.image" to file="mezzano.vmdk"...
Creating dynamic image with size 3221225472 bytes (3072MB)...
*** Failures from VBoxManage are harmless and can be ignored. ***
VBoxManage storagectl "" --name IDE --add ide --controller PIIX4
VBoxManage: error: Could not find a registered machine named ''
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "FindMachine(Bstr(a->argv[0]).raw(), machine.asOutParam())" at line 1045 of file VBoxManageStorageController.cpp
make: *** [cold-image-vmdk] Error 1
The README.md does not seem to cover why this was made... any interesting blog post it can link to, or excerpt of whatever caused you to start making this?
Hello. When I try to create disk image by this instructions https://github.com/orchid-hybrid/orchid-hybrid.github.io/blob/master/_posts/2015-02-02-mezzano-build-tips.md
, I get error:
The value #(4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295) is not of type (UNSIGNED-BYTE 64).
This is stack trace:
0: (NIBBLES::UB64SET/LE #(192 0 0 0 0 0 ...) 6850904 #(4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 ...)) [tl,external]
1: (COLD-GENERATOR::SAVE-UB64-VECTOR #(#(4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 ...) #(4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 ...) #(4294967295 42949..
2: (COLD-GENERATOR::SAVE-DEBUG-8X8-FONT "tools/font8x8")
3: (COLD-GENERATOR::MAKE-IMAGE "mezzano" :EXTRA-SOURCE-FILES NIL :HEADER-PATH "tools/disk_header" :IMAGE-SIZE NIL :MAP-FILE-NAME NIL)
4: (SB-INT:SIMPLE-EVAL-IN-LEXENV (COLD-GENERATOR::MAKE-IMAGE "mezzano" :HEADER-PATH "tools/disk_header") #)
5: (EVAL (COLD-GENERATOR::MAKE-IMAGE "mezzano" :HEADER-PATH "tools/disk_header"))
6: (SWANK::EVAL-REGION "(cold-generator::make-image "mezzano" :header-path "tools/disk_header") ..)
7: ((LAMBDA NIL :IN SWANK-REPL::REPL-EVAL))
8: (SWANK-REPL::TRACK-PACKAGE #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {25E5FA6D}>)
9: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {25E5FA1D}>)
10: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::REPL-EVAL) {25E5FA0D}>)
11: (SWANK-REPL::REPL-EVAL "(cold-generator::make-image "mezzano" :header-path "tools/disk_header") ..)
12: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK-REPL:LISTENER-EVAL "(cold-generator::make-image "mezzano" :header-path "tools/disk_header") ..)
13: (EVAL (SWANK-REPL:LISTENER-EVAL "(cold-generator::make-image "mezzano" :header-path "tools/disk_header") ..)
14: (SWANK:EVAL-FOR-EMACS (SWANK-REPL:LISTENER-EVAL "(cold-generator::make-image "mezzano" :header-path "tools/disk_header") ..)
15: (SWANK::PROCESS-REQUESTS NIL)
16: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
17: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
18: (SWANK/SBCL::CALL-WITH-BREAK-HOOK # #<CLOSURE (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS) {260ED035}>)
19: ((FLET SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "e:/lisp/lispstick/slime-2.15/swank/sbcl.lisp") # #<CLOSURE (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS) {260ED035}>)
20: (SWANK::CALL-WITH-BINDINGS ((STANDARD-OUTPUT . #1=#<SWANK/GRAY::SLIME-OUTPUT-STREAM {251020B1}>) (STANDARD-INPUT . #2=#<SWANK/GRAY::SLIME-INPUT-STREAM {23F6F079}>) (TRACE-OUTPUT . #1#) (*ERROR-O..
21: (SWANK::HANDLE-REQUESTS #<SWANK::MULTITHREADED-CONNECTION {263B5B69}> NIL)
22: ((FLET #:WITHOUT-INTERRUPTS-BODY-1111 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
23: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
24: ((FLET #:WITHOUT-INTERRUPTS-BODY-335 :IN SB-THREAD::CALL-WITH-MUTEX))
25: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {967FD75}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THREAD "..
26: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "new-repl-thread" RUNNING {260ECD91}> NIL #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::SPAWN-REPL-THREAD) {260ECD55}> (#<SB-THREAD:THREAD "ne..
27: ("foreign function: #x42BE30")
28: ("foreign function: #x403287")
29: ("foreign function: #x416807")
30: ("foreign function: #x422CDF")
31: ("foreign function: #x42364E")
32: ("foreign function: #x75597C04")
I try this on Windows 8
OS and sbcl 1.3.0
in Emacs 24.5
with slime-2014-01-15
Can you help me create a disk image to play with Mezzano?
Mezzano is hanging on boot-looking in the serial output file I see:
Unbound symbol +BLOCK-MAP-ID-DEFERRED+
200001AFFC90 2C2117 PANIC
200001AFFCF0 2CD8A3 RAISE-UNBOUND-ERROR
200001AFFD10 618A8F STORE-DEFERRED-FREE
200001AFFD70 658CC1 RELEASE-BLOCK-AT-VIRTUAL-ADDRESS
200001AFFDB0 66A091 (FLET CALL-WITH-MUTEX-THUNK IN RELEASE-MEMORY-RANGE-IN-PAGER)
200001AFFE00 5195FA CALL-WITH-MUTEX
200001AFFEA0 66AD24 RELEASE-MEMORY-RANGE-IN-PAGER
200001AFFF20 689343 HANDLE-PAGER-REQUEST
Thread #
20800063FB50 802698 (FLET %%CATCH-BODY%% IN VIRTIO-NET-WORKER)
20800063FBA0 97739C %CATCH
20800063FCF0 80306B VIRTIO-NET-WORKER
20800063FDC0 800909 (LAMBDA IN (LAMBDA IN VIRTIO-NET-REGISTER))
20800063FDE0 4C68CA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800063FE00 97739C %CATCH
Thread #
20800043FBC0 668525 RELEASE-MEMORY-RANGE
20800043FBF0 8012DF06 GC-CYCLE
20800043FC20 8011A1B7 (FLET DX-LAMBDA IN GC)
20800043FC90 4DEC79 CALL-WITH-WORLD-STOPPED
20800043FD20 8011A5E5 GC
20800043FD40 80007AD2 INITIALIZE-LISP
20800043FDE0 4C68CA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800043FE00 97739C %CATCH
Thread #
20800023FDE0 4C68CA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800023FE00 97739C %CATCH
Thread #
200001EFFE40 33F3A7 POP-DISK-REQUEST
200001EFFF30 346AF3 DISK-THREAD
Any ideas?
Cheers
Keith
see http://www.lispworks.com/documentation/HyperSpec/Body/22_cca.htm
(format t "~,5f" 1)
errors with "The value of MEZZANO.FORMAT::PADCHAR is 5, which is not of type CHARACTER." which would be correct for ~,5d
but not ~,5f
.
(format t "~,5f" 1.0)
prints 1.0
instead of 1.00000
(format t "~15,5f" 1.0)
prints 1.0
instead of
1.0000
(format t "~15,5,,,'+f" 1)
errors with Too Many Parameters
instead of printing ++++++++1.00000
This is a cool project. I've developed in Lisp, some on symbolics and a fair amount in common lisp on various unices, back in the 90's. Thanks for doing this!
I followed the instructions in the demo instructions found at https://github.com/froggey/Mezzano/releases
uname -a in a shell says:
Linux risottoGroupon 4.18.0-15-generic #16~18.04.1-Ubuntu SMP Thu Feb 7 14:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
The hardware is a dell box with an Intel(R) Core(TM) i7-6700 cpu.
VirtualBox 6 printed the following error after I tried using the downloaded file:
Failed to open the disk image file /home/nzc/Desktop/Mezzano.Demo.4.vmdk.
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
I'm going to try building the latest sources and see how that works.
https://dejavu-fonts.org leads to a French internet company.
I guess it should point to https://dejavu-fonts.github.io/ ?
I love LISP, and I love Mezzano - how can I get started in contributing to this project? I do not know where to start in terms of reading the code, and what the overall architectural design of the operating system is - is there somewhere I can read about Mezzano's development?
Should I jump into the IRC channel?
Thanks in advance.
(Btw I love this project)
Definition of read-#-struct
is missing in system/reader.lisp
around https://github.com/froggey/Mezzano/blob/master/system/reader.lisp#L770
It is referenced with
(set-dispatch-macro-character #\# #\S 'read-#-struct readtable)
at
https://github.com/froggey/Mezzano/blob/master/system/reader.lisp#L987
Not sure if this is a stack overflow, but I thought I would save it here.
The editor had (current-buffer) in the scratch buffer and I hit C-c C-c around the 'e' in buffer.
GC in progress...
Protect range 400000000000-400002E00000 7
Protect range 600000000000-600001600000 7
Scav roots
Scav GC stack
Scav DX root 20800183EBD1
Scav DX root 20800183EDD1
Scav DX root 20800183EFC1
Scav DX root 20800183F1A1
General. Limit: 2E00000 Bump: 1BFB0 Curr: 0
Cons. Limit: 1600000 Bump: B530 Curr: 0
Scav main seq
General. Limit: 2E00000 Bump: 1820720 Curr:
1730D40
Cons. Limit: 1600000 Bump: 3FA9F0 Curr: 3FA9F0
Scav main seq
General. Limit: 2E00000 Bump: 1FEFFF0 Curr:
1FC4330
Cons. Limit: 1600000 Bump: 4FEA90 Curr: 4FEA90
Scav main seq
General. Limit: 2E00000 Bump: 2015810 Curr:
2015810
Cons. Limit: 1600000 Bump: 4FECA0 Curr: 4FECA0
Protect range 500000000000-500002E00000 4
Protect range 700000000000-700001600000 4
rebuild freelist WIRED-AREA-FREELIST
rebuild freelist PINNED-AREA-FREELIST
Release range 400002200000-400002E00000
Release range 500002200000-500002E00000
Release range 600000600000-600001600000
Release range 700000600000-700001600000
GC complete
page fault on unmapped page 7000015FFFC0 in thread
#<4646E9>
2000016FFFD0 4E7549
2000016FFFF0 3C38E7
It'd be useful for people who want to hack on Mezzano to have the basic system configuration parameters set in a single config.lisp
file so it's easy to modify to match one's local environment. (E.g. IP addresses to use for host and virtual machine, that sort of thing.)
Should the following return NIL instead of bailing?
[57]> (latin1-char-p pi)
*** - The value of Character should be of type Character.
The value is: 3.1415926535897932385L0
The following restarts are available:
STORE-VALUE :R1 Input a new value for Character.
ABORT :R2 Abort main loop
Break 1 [58]>
Might require writing new backend for Mezzano / McCLIM
Hi,
I've built Mezzano using the instructions found on the MBuild page. After Mezzano boots, a grey repl covers most of the screen, starting from the top left corner.
The debug log (passed through the serial file) is found here.
There doesn't look like too much wrong, except the compositor appears to die twice during boot. Does anyone know what causes this?
I'm building and running on a dual core AMD-5300 with 16gb ram and an NVidia graphics card. The OS is manjaro Openrc edition.
Mezzano is a truly outstanding contribution, and I again urge you to apply to GitHub Sponsors!
This would be a great addition to your Patreon.
I believe GitHub Sponsors is a much better platform to seek Common Lisp funding than Patreon, notably because 92% of Common Lispers list members are already on GitHub, whereas only 5% are on Patreon (counting only those seeking funding there).
Please add a few screenshots (maybe even as animated gifs).
Thank you.
I am trying to boot the .iso file on xen (and directly on hardware) , it loads the selection menu but whatever I select it says...
Loading 12498 pages
And then counts to about 12000
Then prints ...
mezzano: Starting system. Entry point is 00464670 sp is 200000e20000 info is ffff800000100000
Then on xen shuts down the vm (on hardware it just hangs).
Also
I can't seem to boot on xen from the virtual imaga either even after using qemu-img to convert the file.
Alexandria is listed as a dependency in BUILD, so I tried cloning it, but I get this error:
Cloning into 'alexandria'...
fatal: unable to connect to common-lisp.net:
common-lisp.net[0: 148.251.248.130]: errno=Connection refused
common-lisp.net[1: 2a01:4f8:200:4310::30]: errno=Network is unreachable
Is there an alternate location that it could be downloaded from? The repository has been unreachable for months now, so I can't even attempt a build even if I wanted to.
Is it possible to install this to a rpi ?. Or drivers should be ported to this platform ?
While booting a freshly compiled image, the system drops into the debugger because of
; Loading #P"SYS:SOURCE;FILE;LOCAL.llf"
Bad LLF version 21, wanted version 22,
while loading #<Mezzano.File-System.Remote::Remote-File-Stream
"REMOTE" /src/github/metayan/MBuild/Mezzano/file/local.llf 400001AEDCB9>.
hexdump -C Mezzano/file/local.llf |head -n3
00000000 4c 4c 46 01 15 01 07 19 4d 45 5a 5a 41 4e 4f 2e |LLF.....MEZZANO.|
00000010 46 49 4c 45 2d 53 59 53 54 45 4d 2e 4c 4f 43 41 |FILE-SYSTEM.LOCA|
00000020 4c 04 09 4e 49 43 4b 4e 41 4d 45 53 07 4b 45 59 |L..NICKNAMES.KEY|
MBuild: demo3-30-gdf2242b
Mezzano: demo3-683-g8f1a24d7
since i'm getting a new computer (bolt via kickstarter)... willing to build mezzano on a dell 485...? system...
long time ago, worked on intergraph workstation (native lisp) hooked into a cray 1...
wrote code specifications (not code), but picked up enuff to be dangerous...
now learning lisp for real...
if mezzano is ready, will jump right in... (20+ years on freebsd, so not a total noob...)
william...
Build on OSX 10.13?
README.md says it runs on OSX -- and I believe it!
I'd really like to take a look at this system, but it doesn't seem to build on OSX and even poking around with trying to add libraries (via Frameworks) doesn't seem to allow the makefile to work.
I managed to do what I assumed was needed to put SDL2 and SDL2_ttf (frameworks) in /Library/Frameworks ...
The command "make -j" (same with just "make") produces errors about not being able to find SDL2.h. Unfortunately I made some changes (symlinks) that now make "make -j" produce "ld: framework not found SDL2" -- and undoing the symlinks doesn't go back to the original error.
Anyway, thanks.
When I try a cold boot I get the following error (hopefully this is enough context):
Loading ipl
Got ARP packet. A000202 A00020F A00020F
New ARP table: ((2048 167772674 #(82 85 10 0 2 2) 0))
TCP: got ack 0, wanted 3. Flags 10001
Expanding cons area by 200000
Ignoring packet from C0A80147 #(10 39 128 1 0 0 0 0 0 0 0 0 80 17 32 0 55 173 0 0)
Ignoring packet from C0A80147 #(10 39 128 1 0 0 0 0 0 0 0 0 80 20 0 0 87 170 0 0)
The condition END-OF-FILE was signalled.
Available restarts:
20800043E250 80982479 SYSTEM.INTERNALS::BACKTRACE
20800043E2E0 8097DF89 (LAMBDA :IN SYSTEM.INTERNALS::ENTER-DEBUGGER)
20800043E6C0 800FD759 SYSTEM.INTERNALS::%WITH-STANDARD-IO-SYNTAX
20800043EBE0 800386E9 SYSTEM.INTERNALS::ENTER-DEBUGGER
20800043EC00 8096BAE9 INVOKE-DEBUGGER
20800043EC50 809786F9 ERROR
20800043ECE0 809A0419 READ-CHAR
20800043ED50 800FBC59 SYSTEM.INTERNALS::READ-COMMON
20800043EDE0 800FC669 READ-PRESERVING-WHITESPACE
20800043EE10 80BFCD99 (LAMBDA :IN (LAMBDA :IN (DEFMETHOD MEZZANO.FILE-SYSTEM:OPEN-USING-HOST (MEZZANO.FILE-SYSTEM.REMOTE::SIMPLE-FILE-HOST T))))
20800043EEB0 800FD759 SYSTEM.INTERNALS::%WITH-STANDARD-IO-SYNTAX
20800043F3D0 80BFE049 (LAMBDA :IN (DEFMETHOD MEZZANO.FILE-SYSTEM:OPEN-USING-HOST (MEZZANO.FILE-SYSTEM.REMOTE::SIMPLE-FILE-HOST T)))
20800043F5D0 8007F739 SYSTEM.INTERNALS::%APPLY
20800043F620 80B65DD9 (DEFMETHOD MEZZANO.FILE-SYSTEM:OPEN-USING-HOST (MEZZANO.FILE-SYSTEM.REMOTE::SIMPLE-FILE-HOST T))
20800043F640 80951789 (LAMBDA :IN SYSTEM.CLOSETTE::STD-COMPUTE-EFFECTIVE-METHOD-FUNCTION)
20800043F670 8094C9F9 SYSTEM.CLOSETTE::SLOW-SINGLE-DISPATCH-METHOD-LOOKUP
Enter a restart number or evaluate a form. :help for help.
0]
I checked my ipl.lisp and it looks fine with no missing parens. Any idea what's going on here?
This far the only documentation in the docs directory is about the ABI. What I think is needed is documentation about the operating system itself - information about the kernel, the graphics stack, device drivers, how it does the things it do. As an outsider, the actual internals of the operating system are an enigma such that, for all I can tell, the aforementioned don't even exist.
"Trentino, a media player, has been implemented by Eugene Zaikonnikov. Further improvements to conformance, stability and performance. The CLOS implementation follows the MOP much more closely. More traditional window management. Booting from CD/USB on real hardware is now possible. Driver support for Intel HDA audio devices. VirtualBox guest (mouse & display) integration."
How exactly does one boot from USB? I'm interested in making a bootable mezzeno usb from linux.
Spent some time reading about booting to VHD files, but all of it seems to be windows related. That which wasn't was insane. Eg, link in second comment here: https://unix.stackexchange.com/questions/309900/deploy-linux-into-and-boot-from-vhd
Where are my RX buffers?
208002A3F9D0 5DFC5B
208002A3FA50 5E7CB1
208002A3FAA0 3EE7BA
208002A3FB40 5E91AC
208002A3FC90 5F2C69
208002A3FCB0 3CB233
208002A3FCD0 3B8F82
208002A3FDD0 3CB54D
208002A3FE10 610449
208002A3FF50 3CBD56
208002A3FFF0 3CBF42
The other LispM systems I've seen have a system-wide mode line/area. I think it'd be nice for Mezzano too, especially if the activity indicators could be migrated.
For reference, here's the TI Explorer:
And here's the CADR running ZMACS circa 1979, running in an emulator:
And finally, here’s my Symbolics XL400 running Genera 8.3, immediately post-boot:
Expanding cons area by 1000000
page fault on unmapped page 208001BFFF30 in thread #<4E46B9>
2000016FFFD0 4ECA69
2000016FFFF0 3C96F7
I'm building on Ubuntu 17.10 with Virtualbox. Everything works fine until I try to boot. It works for quite a long time and then the file server says this:
Got a connection: #<SB-SYS:FD-STREAM for "socket 192.168.1.103:2599, peer: 76.188.199.137:38350" {100456E9C3}>
Command: (:OPEN
"/home/bms_/MBuild/home/.cache/common-lisp/mezzano-devel-20-mezzano-x64/REMOTE/home/bms_/MBuild/home/cl-vectors/paths-tmp191.llf"
:DIRECTION :OUTPUT :IF-DOES-NOT-EXIST :ERROR :IF-EXISTS :OVERWRITE)
Keys (:DIRECTION :OUTPUT :IF-DOES-NOT-EXIST :ERROR :IF-EXISTS :OVERWRITE)
Command: (:WRITE 0 0 131072)
While evaluating the form starting at line 22, column 0
of #P"/home/bms_/MBuild/Mezzano/file-server/../../run-file-server.lisp":
debugger invoked on a SB-INT:SIMPLE-STREAM-ERROR in thread
#<THREAD "main thread" RUNNING {1001E067E3}>:
Couldn't write to #<SB-SYS:FD-STREAM for "socket 192.168.1.103:2599, peer: 76.188.199.137:38350" {100456E9C3}>:
Broken pipe
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry EVAL of current toplevel form.
1: [CONTINUE] Ignore error and continue loading file "/home/bms_/MBuild/Mezzano/file-server/../../run-file-server.lisp".
2: [ABORT ] Abort loading file "/home/bms_/MBuild/Mezzano/file-server/../../run-file-server.lisp".
3: Ignore runtime option --load "../../run-file-server.lisp".
4: Skip rest of --eval and --load options.
5: Skip to toplevel READ/EVAL/PRINT loop.
6: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(SB-IMPL::FLUSH-OUTPUT-BUFFER #<SB-SYS:FD-STREAM for "socket 192.168.1.103:2599, peer: 76.188.199.137:38350" {100456E9C3}>)
0]
No matter what answer number I choose, it immediately ends the fileserver process, effectively destroying the boot's progress. Help?
Eventually I suspect Mezzano will want to support more CPUs than just x86_64. (For example, ARM; I could see Mezzano running on something like a Raspberry Pi 3.) It would probably be worthwhile to keep the CPU & platform-specific code as separate as possible from the start.
Hi, project looks really cool!
Having some trouble getting it running, though.
Graphically I just get the grey REPL:
Trying to boot in KVM/Qemu gives:
; Loading #P"REMOTE:/home/milo/MBuild/home/asdf/asdf.llf"
The condition END-OF-FILE was signalled.
Available restarts:
20800043E880 80F72832 SYSTEM.INTERNALS::BACKTRACE20800043E910 80F67EA0 (LAMBDA :IN SYSTEM.INTERNALS::ENTER-DEBUGGER)20800043EE70 80191EF1 SYSTEM.INTERNALS::%WITH-STANDARD-IO-SYNTAX20800043F130 80F71B94 SYSTEM.INTERNALS::ENTER-DEBUGGER20800
043F150 80F60803 INVOKE-DEBUGGER20800043F1C0 80F5C716 ERROR20800043F2A0 80FA10CE READ-BYTE20800043F2E0 80004DC6 SYSTEM.INTERNALS::%READ-BYTE20800043F310 8021E7A9 SYSTEM.INTERNALS::LOAD-LLF20800043F400 80220681 SYSTEM.INTERNALS::LOAD-FROM-S
TREAM20800043F440 8022233C LOAD20800043F7C0 80F45C21 SYSTEM.INTERNALS::CAL20800043F8B0 815866EE (SYSTEM.INTERNALS::TOPLEVEL "/home/milo/MBuild/Mezzano/ipl.lisp" 18)20800043F8C0 8021D26C SYSTEM.INTERNALS::LOAD-ONE-OBJECT20800043F9A0 8021EB1
9 SYSTEM.INTERNALS::LOAD-LLF20800043FA90 8000EDBE SYSTEM.INTERNALS::INITIALIZE-LISP
Enter a restart number or evaluate a form. :help for help.
CL-USER/0] Serial read char not implemented.
20800043E5D0 2F0667 PANIC
20800043E620 31F7EA DEBUG-SERIAL-STREAM
20800043E650 2DD2D8 DEBUG-READ-CHAR
20800043E680 2FC33F COLD-READ-CHAR
20800043E6E0 80FA4638 READ-CHAR
20800043E740 8018F3AB READ-COMMON
20800043E7F0 8018FA30 (LAMBDA IN READ)
20800043E830 80FA3FFF %WITH-STREAM-EDITOR
20800043E870 80FA3F8A %WITH-STREAM-EDITOR
20800043E8B0 8018FD92 READ
20800043E910 80F686FF (LAMBDA IN ENTER-DEBUGGER)
20800043EE70 80191EF1 %WITH-STANDARD-IO-SYNTAX
20800043F130 80F71B94 ENTER-DEBUGGER
20800043F150 80F60803 INVOKE-DEBUGGER
20800043F1C0 80F5C716 ERROR
20800043F2A0 80FA10CE READ-BYTE
20800043F2E0 80004DC6 %READ-BYTE
20800043F310 8021E7A9 LOAD-LLF
20800043F400 80220681 LOAD-FROM-STREAM
20800043F440 8022233C LOAD
20800043F7C0 80F45C21 CAL
20800043F8B0 815866EE (TOPLEVEL /home/milo/MBuild/Mezzano/ipl.lisp 12)
20800043F8C0 8021D26C LOAD-ONE-OBJECT
20800043F9A0 8021EB19 LOAD-LLF
20800043FA90 8000EDBE INITIALIZE-LISP
20800043FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800043FDF0 A52D46 %CATCH
20800043FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<3E4A09>
20800143FCC0 5DDB10 IRQ-FIFO-POP
20800143FCF0 269B5B NET-RECEIVE-PACKET
20800143FD20 814F342E ETHERNET-THREAD
20800143FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800143FDF0 A52D46 %CATCH
20800143FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<3D8A19>
20800123ED20 5F5715 (FLET CALL-WITH-MUTEX-THUNK IN FIFO-POP)
20800123EDA0 57E7FA CALL-WITH-MUTEX
20800123EE40 5F6259 FIFO-POP
20800123EEC0 811C5C06 (LAMBDA IN (DEFMETHOD STREAM-READ-CHAR (BASIC-REPL)))
20800123EEF0 811C4CAA (DEFMETHOD STREAM-READ-CHAR (BASIC-REPL))
20800123EF10 801B2343 (LAMBDA IN STD-COMPUTE-EFFECTIVE-METHOD-FUNCTION-WITH-STANDARD-METHOD-COMBINATION)
20800123EF40 80FB1F27 (LAMBDA IN (DEFMETHOD STREAM-READ-CHAR AROUND (SIMPLE-EDIT-MIXIN)))
20800123EF90 80FB2340 (DEFMETHOD STREAM-READ-CHAR AROUND (SIMPLE-EDIT-MIXIN))
20800123EFC0 801ABA53 (LAMBDA IN STD-COMPUTE-EFFECTIVE-METHOD-FUNCTION-WITH-STANDARD-METHOD-COMBINATION)
20800123EFF0 80F97D57 (LAMBDA IN (DEFMETHOD STREAM-READ-CHAR AROUND (UNREAD-CHAR-MIXIN)))
20800123F020 80F97F00 (DEFMETHOD STREAM-READ-CHAR AROUND (UNREAD-CHAR-MIXIN))
20800123F050 801ABA53 (LAMBDA IN STD-COMPUTE-EFFECTIVE-METHOD-FUNCTION-WITH-STANDARD-METHOD-COMBINATION)
20800123F080 8023CBFD SLOW-SINGLE-DISPATCH-METHOD-LOOKUP
20800123F110 80F16A72 SLOW-SINGLE-DISPATCH-METHOD-LOOKUP*
20800123F200 80226BA4 (LAMBDA IN STD-COMPUTE-DISCRIMINATING-FUNCTION)
20800123F270 80FA46CB READ-CHAR
20800123F2D0 8018F3AB READ-COMMON
20800123F380 8018FA30 (LAMBDA IN READ)
20800123F3C0 80FB32A0 (LAMBDA IN (DEFMETHOD STREAM-WITH-EDIT (SIMPLE-EDIT-MIXIN T)))
20800123F4C0 80FB369A (DEFMETHOD STREAM-WITH-EDIT (SIMPLE-EDIT-MIXIN T))
20800123F4E0 801B2343 (LAMBDA IN STD-COMPUTE-EFFECTIVE-METHOD-FUNCTION-WITH-STANDARD-METHOD-COMBINATION)
20800123F510 8023CBFD SLOW-SINGLE-DISPATCH-METHOD-LOOKUP
20800123F5A0 80F16A72 SLOW-SINGLE-DISPATCH-METHOD-LOOKUP*
20800123F690 80226BA4 (LAMBDA IN STD-COMPUTE-DISCRIMINATING-FUNCTION)
20800123F700 80FA3FDA %WITH-STREAM-EDITOR
20800123F740 80FA3F8A %WITH-STREAM-EDITOR
20800123F780 8018FD92 READ
20800123F7E0 810008A1 REPL
20800123FB80 814EAF27 REPL-MAIN
20800123FDB0 811D16A5 (LAMBDA IN SPAWN)
20800123FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800123FDF0 A52D46 %CATCH
20800123FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<3C45E9>
20800103FCB0 5DDB10 IRQ-FIFO-POP
20800103FCE0 76064F PS/2-AUX-READ
20800103FD10 814E413F MOUSE-FORWARDER-THREAD
20800103FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800103FDF0 A52D46 %CATCH
20800103FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<397419>
208000E3FCA0 5DDB10 IRQ-FIFO-POP
208000E3FCD0 75F2BF PS/2-KEY-READ
208000E3FD00 814E2DB5 KEYBOARD-FORWARDER-THREAD
208000E3FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
208000E3FDF0 A52D46 %CATCH
208000E3FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<38F8C9>
208000C3FD30 73D27A SLEEP
208000C3FD70 814DFC3B COMPOSITOR-HEARTBEAT-THREAD
208000C3FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
208000C3FDF0 A52D46 %CATCH
208000C3FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<37D2B9>
208000A3FB00 5F5715 (FLET CALL-WITH-MUTEX-THUNK IN FIFO-POP)
208000A3FB80 57E7FA CALL-WITH-MUTEX
208000A3FC20 5F6259 FIFO-POP
208000A3FCA0 814DF0CF COMPOSITOR-THREAD
208000A3FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
208000A3FDF0 A52D46 %CATCH
208000A3FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<BB7A29>
2080008FFCB0 80151E14 (FLET CALL-WITH-MUTEX-THUNK IN GC-WORKER)
2080008FFD00 57E7FA CALL-WITH-MUTEX
2080008FFDA0 80153121 GC-WORKER
2080008FFDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
2080008FFDF0 A52D46 %CATCH
2080008FFF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<BB52B9>
20800063FB30 8D04C8 (FLET %%CATCH-BODY%% IN VIRTIO-NET-WORKER)
20800063FB80 A52D46 %CATCH
20800063FCE0 8D0E9B VIRTIO-NET-WORKER
20800063FDB0 8CE869 (LAMBDA IN (LAMBDA IN VIRTIO-NET-REGISTER))
20800063FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800063FDF0 A52D46 %CATCH
20800063FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<BB30C9>
20800023FDD0 51FDCA (FLET %%CATCH-BODY%% IN THREAD-ENTRY-TRAMPOLINE)
20800023FDF0 A52D46 %CATCH
20800023FF50 520645 THREAD-ENTRY-TRAMPOLINE
----------
Thread #<B9D639>
----------
Thread #<B9E659>
----------
Thread #<B9F679>
200001EFFDF0 37FE66 POP-DISK-REQUEST
200001EFFF30 387D33 DISK-THREAD
Since that's the first remote file logged, my instinct would be an issue with the file server connection. I see this in the file-server process log:
Got a connection: #<SB-SYS:FD-STREAM for "socket 10.123.14.175:2599, peer: 10.123.14.175:51554" {10031C0583}>
Command: (:OPEN "/home/milo/MBuild/home/asdf/asdf.llf" :DIRECTION :INPUT)
Keys (:DIRECTION :INPUT)
Command: (:READ 0 1835008 131072)
Client closed.
Got a connection: #<SB-SYS:FD-STREAM for "socket 10.123.14.175:2599, peer: 10.123.14.175:51556" {10031C57A3}>
Command: (:OPEN "/home/milo/MBuild/home/asdf/asdf.llf" :DIRECTION :INPUT)
Keys (:DIRECTION :INPUT)
Command: (:READ 0 1966080 131072)
Client closed.
Got a connection: #<SB-SYS:FD-STREAM for "socket 10.123.14.175:2599, peer: 10.123.14.175:51558" {10031F29C3}>
Command: (:OPEN "/home/milo/MBuild/home/asdf/asdf.llf" :DIRECTION :INPUT)
Keys (:DIRECTION :INPUT)
Command: (:READ 0 2097152 131072)
Client closed.
Got a connection: #<SB-SYS:FD-STREAM for "socket 10.123.14.175:2599, peer: 10.123.14.175:51560" {10031F7BE3}>
Command: (:OPEN "/home/milo/MBuild/home/asdf/asdf.llf" :DIRECTION :INPUT)
Keys (:DIRECTION :INPUT)
Command: (:READ 0 2097152 131072)
Client closed.
Got a connection: #<SB-SYS:FD-STREAM for "socket 10.123.14.175:2599, peer: 10.123.14.175:51562" {100324D013}>
Command: (:OPEN "/home/milo/MBuild/home/asdf/asdf.llf" :DIRECTION :INPUT)
Keys (:DIRECTION :INPUT)
Command: (:READ 0 2097152 131072)
Client closed.
Which doesn't look so bad to me? Looks like it's cracking through the file in pieces.
There is also a probably relevant error here, further up the Qemu log:
Using network card #<Mezzano.Supervisor:Nic Virtio-Net 52:54:00:12:34:56 BB6809>.
File server has address 10.123.14.175, port 2599.
Pinging file server host... Got ARP packet. A000202 A00020F A00020F 2
New ARP table: ((2048 167772674 #(82 85 10 0 2 2) 0))
Failed! No responses received!
Testing access to file server... OK!
Testing internet connectivity.
Attempting to resolve google.com... OK!
Has address 172.217.2.14.
Perhaps Testing access to file server... OK
is mistakenly triggerred, given the Failed! No responses received
? Though it does look like the file server getting pinged. Any help would be appreciated. Hope this is all relevant info!
sys.int> (setf editor (mezzano.editor:spawn))
sys.int> (mezzano.supervisor::destroy-thread editor)
panic
Output in console:
Trying to acquire block mutex #<6B8319> with interrupts disabled.
20800163EC00 40DE12
20800163ECE0 40A3FC
20800163ED10 418055
20800163ED90 3B432D
20800163EE80 4187E5
20800163EF00 4161A4
20800163EF30 63D754
20800163F040 8007F915
20800163F0F0 8011CBA1
20800163F170 801845FA
20800163F1A0 80994C25
20800163F230 3E39BF
20800163F330 3E4D0D
20800163F350 8007FD2C
20800163F360 809B2D4B
20800163F490 8005BAE3
20800163F4B0 80196051
20800163F4E0 8007F5A2
20800163F500 80A0A614
20800163F880 8109395B
20800163FC80 810951F4
20800163FCB0 3CB233
20800163FCD0 3B8F82
20800163FDD0 3CB54D
20800163FE10 610449
20800163FF50 3CBD56
20800163FFF0 3CBF42
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.