testers wanted - preliminary snapshot available - minix3_1_4_ide_r4203.iso

38 views
Skip to first unread message

Ben Gras

unread,
Mar 26, 2009, 1:55:16 PM3/26/09
to minix3
In preparation for an official new release later this year, there's a
snapshot of the current subversion trunk with binary packages up on
the website at http://www.minix3.org/download/ .

I wouldn't go so far as to call this an interim release, as there are
quite a few known rough edges, but in order to give the rest of the
code some much-needed exposure, everyone who's interested is invited
to try and run it.

GSOC students, both while applying and while working, are expected to
run this release, or a newer version if available.

Take a look 3.1.4 at
http://www.minix3.org/download/
the direct link to the ISO is
http://www.minix3.org/download/minix3_1_4_ide_r4203.iso

The SHA1 is 114839e1a8d9af39184fc5e25fc5958970d0952e.

some rough edges that are known are are being worked on that come to
mind are
. slower; due to vm implementation, this is still to be optimized
. no AHCI support; need to change to IDE mode in BIOS on new
hardware
. on new hardware, DMA sometimes doesn't work (at_wini panics); set
'ata_no_dma=1' in boot monitor

On the plus side, it should work out-of-the-box with vmware and qemu
(and presumably bochs). And other major (no more chmem hassle; no more
unnecessarily large X server) and minor improvements.

Please share your experience with us in the group, if you find a new
bug a bug can be filed in the bug tracker.

You can expect more of these snapshots in the near future, and until
the next official release.

Enjoy!

Arun Thomas

unread,
Mar 26, 2009, 5:16:55 PM3/26/09
to min...@googlegroups.com
Ben Gras wrote:
> On the plus side, it should work out-of-the-box with vmware and qemu
> (and presumably bochs). And other major (no more chmem hassle; no more
> unnecessarily large X server) and minor improvements.
Just to follow on, VMWare's lance driver should work out of the box now.
No need to fiddle around with Lance hacks. You will still need to modify
the vmx file or change your VMWare hardware compatibility level,
depending on your VMWare version. We're looking into this issue.

The booting issues with QEMU 0.9 should be gone. QEMU 0.10 works fine
also; it never had the problem. If you're using QEMU or KVM, don't
forget to set qemu_pci=1 in the boot monitor.

We'll have to investigate the VirtualBox Lance problems further. If
you're a VBox user, you can try to restart the Lance driver (as Matthias
Schmidt mentioned). It may work, but maybe not.

Enjoy that Minixy VM goodness (pun intended),

Arun

Maurizio Lombardi

unread,
Mar 27, 2009, 7:05:39 PM3/27/09
to min...@googlegroups.com
> Please share your experience with us in the group, if you find a new
> bug a bug can be filed in the bug tracker.
>
> You can expect more of these snapshots in the near future, and until
> the next official release.
>
> Enjoy!


Hi,

Today i installed Minix 3.1.4 and now i am trying to compile
/usr/src/lib with "make all-gnu".
Probably something is broken here 'cause gcc fails to compile
/usr/src/lib/sysutil/profile.c with a lot of errors like this one:

profile.c:253 error: request for member '_' in something not a
structure or union.

It should be a little problem with the u64_t type definition....


--
--------------------
Maurizio Lombardi

Midnitte

unread,
Mar 27, 2009, 7:42:55 PM3/27/09
to minix3
Using Qemu 0.9 on windows and I managed to get 3.1.4 installed but I
can't seem to get the lance driver to work, is there any notification
as to if its working once you enter qemu_pci=1? Once it starts the
networking process it just reports "nonamed" so I'm not sure if that
means its not working or if I did everything I was suppose to do.

So far no errors besides that user error, :)

On Mar 26, 1:55 pm, Ben Gras <b...@few.vu.nl> wrote:
> In preparation for an official new release later this year, there's a
> snapshot of the current subversion trunk with binary packages up on
> the website athttp://www.minix3.org/download/.
>
> I wouldn't go so far as to call this an interim release, as there are
> quite a few known rough edges, but in order to give the rest of the
> code some much-needed exposure, everyone who's interested is invited
> to try and run it.
>
> GSOC students, both while applying and while working, are expected to
> run this release, or a newer version if available.
>
> Take a look 3.1.4 athttp://www.minix3.org/download/
> the direct link to the ISO ishttp://www.minix3.org/download/minix3_1_4_ide_r4203.iso

Maurizio Lombardi

unread,
Mar 28, 2009, 5:31:24 AM3/28/09
to min...@googlegroups.com
> Today i installed Minix 3.1.4 and now i am trying to compile
> /usr/src/lib with "make all-gnu".
> Probably something is broken here 'cause gcc fails to compile
> /usr/src/lib/sysutil/profile.c with a lot of errors like this one:
>
> profile.c:253 error: request for member '_' in something not a
> structure or union.
>
> It should be a little problem with the u64_t type definition....
>

Hi, with this patch it *should* works... or at least you will
understand where the problem is:

*** profile.c Sat Mar 28 08:25:37 2009
--- new_profile.c Sat Mar 28 09:01:56 2009
***************
*** 64,70 ****
if (cprof_locked) return; else cprof_locked = 1;

/* Read CPU cycle count into local variable. */
! read_tsc(&start._[U64_HI], &start._[U64_LO]);

/* Run init code once after system boot. */
if (init == 0) {
--- 64,71 ----
if (cprof_locked) return; else cprof_locked = 1;

/* Read CPU cycle count into local variable. */
! read_tsc(&hi, &lo);
! start = make64(lo, hi);

/* Run init code once after system boot. */
if (init == 0) {
***************
*** 108,115 ****
}

/* Save initial cycle count on stack. */
! cprof_stk[cprof_stk_top].start_1._[U64_HI] = start._[U64_HI];
! cprof_stk[cprof_stk_top].start_1._[U64_LO] = start._[U64_LO];

/* Check available call path len. */
if (cpath_len + strlen(name) + 1 > CPROF_CPATH_MAX_LEN) {
--- 109,115 ----
}

/* Save initial cycle count on stack. */
! cprof_stk[cprof_stk_top].start_1 = start;

/* Check available call path len. */
if (cpath_len + strlen(name) + 1 > CPROF_CPATH_MAX_LEN) {
***************
*** 170,177 ****
cprof_stk[cprof_stk_top].slot = cprof_slot;

/* Again save CPU cycle count on stack. */
! read_tsc(&cprof_stk[cprof_stk_top].start_2._[U64_HI],
! &cprof_stk[cprof_stk_top].start_2._[U64_LO]);
cprof_locked = 0;
}

--- 170,178 ----
cprof_stk[cprof_stk_top].slot = cprof_slot;

/* Again save CPU cycle count on stack. */
!
! read_tsc(&hi, &lo);
! cprof_stk[cprof_stk_top].start_2 = make64(lo, hi);
cprof_locked = 0;
}

***************
*** 180,191 ****
char *name;
{
u64_t stop, spent;

/* Procexit is not reentrant. */
if (cprof_locked) return; else cprof_locked = 1;

/* First thing: read CPU cycle count into local variable. */
! read_tsc(&stop._[U64_HI], &stop._[U64_LO]);

/* Only continue if sane. */
if (control.err) return;
--- 181,194 ----
char *name;
{
u64_t stop, spent;
+ unsigned long int hi, lo;

/* Procexit is not reentrant. */
if (cprof_locked) return; else cprof_locked = 1;

/* First thing: read CPU cycle count into local variable. */
! read_tsc(&hi, &lo);
! stop = make64(lo, hi);

/* Only continue if sane. */
if (control.err) return;
***************
*** 204,212 ****
sub64(spent, cprof_stk[cprof_stk_top].spent_deeper));

/* Clear spent_deeper for call level we're leaving. */
! cprof_stk[cprof_stk_top].spent_deeper._[U64_LO] = 0;
! cprof_stk[cprof_stk_top].spent_deeper._[U64_HI] = 0;
!
/* Adjust call path string and stack. */
cpath_len = cprof_stk[cprof_stk_top].cpath_len;
cpath[cpath_len] = '\0';
--- 207,214 ----
sub64(spent, cprof_stk[cprof_stk_top].spent_deeper));

/* Clear spent_deeper for call level we're leaving. */
! cprof_stk[cprof_stk_top].spent_deeper = cvu64(0);
!
/* Adjust call path string and stack. */
cpath_len = cprof_stk[cprof_stk_top].cpath_len;
cpath[cpath_len] = '\0';
***************
*** 221,227 ****
*/

/* Read CPU cycle count. */
! read_tsc(&stop._[U64_HI], &stop._[U64_LO]);

/* Calculate "big" difference. */
spent = sub64(stop, cprof_stk[cprof_stk_top].start_1);
--- 223,230 ----
*/

/* Read CPU cycle count. */
! read_tsc(&hi, &lo);
! stop = make64(lo, hi);

/* Calculate "big" difference. */
spent = sub64(stop, cprof_stk[cprof_stk_top].start_1);
***************
*** 236,242 ****
PRIVATE void cprof_init() {
message m;
int i;
!
cpath[0] = '\0';
cpath_len = 0;
cprof_stk_top = -1;
--- 239,245 ----
PRIVATE void cprof_init() {
message m;
int i;
!
cpath[0] = '\0';
cpath_len = 0;
cprof_stk_top = -1;
***************
*** 249,260 ****
for (i=0; i<CPROF_STACK_SIZE; i++) {
cprof_stk[i].cpath_len = 0;
cprof_stk[i].slot = 0;
! cprof_stk[i].start_1._[U64_LO] = 0;
! cprof_stk[i].start_1._[U64_HI] = 0;
! cprof_stk[i].start_2._[U64_LO] = 0;
! cprof_stk[i].start_2._[U64_HI] = 0;
! cprof_stk[i].spent_deeper._[U64_LO] = 0;
! cprof_stk[i].spent_deeper._[U64_HI] = 0;
}
}

--- 252,260 ----
for (i=0; i<CPROF_STACK_SIZE; i++) {
cprof_stk[i].cpath_len = 0;
cprof_stk[i].slot = 0;
! cprof_stk[i].start_1 = cvu64(0);
! cprof_stk[i].start_2 = cvu64(0);
! cprof_stk[i].spent_deeper = cvu64(0);
}
}

***************
*** 277,284 ****
memset(cprof_tbl[i].cpath, '\0', CPROF_CPATH_MAX_LEN);
cprof_tbl[i].next = 0;
cprof_tbl[i].calls = 0;
! cprof_tbl[i].cycles._[U64_LO] = 0;
! cprof_tbl[i].cycles._[U64_HI] = 0;
}
}

--- 277,283 ----
memset(cprof_tbl[i].cpath, '\0', CPROF_CPATH_MAX_LEN);
cprof_tbl[i].next = 0;
cprof_tbl[i].calls = 0;
! cprof_tbl[i].cycles = cvu64(0);
}
}


--
--------------------
Maurizio Lombardi

Maurizio Lombardi

unread,
Mar 28, 2009, 5:36:33 AM3/28/09
to min...@googlegroups.com
> Please share your experience with us in the group, if you find a new
> bug a bug can be filed in the bug tracker.
>

Probably there is a bug in the floppy disk driver:

When i try to do "mtools format /dev/fd0:" i get this error:

fd0: disk interrupt timed out
fs: I/O error on device 2/0

It is not an hardware problem, it works on Minix 3.1.3 r3066
I will file this bug in the bug tracker.

--
--------------------
Maurizio Lombardi

Guanqun Lu

unread,
Mar 28, 2009, 8:48:44 AM3/28/09
to min...@googlegroups.com
On Fri, Mar 27, 2009 at 1:55 AM, Ben Gras <be...@few.vu.nl> wrote:
>
> some rough edges that are known are are being worked on that come to
> mind are
>  . slower; due to vm implementation, this is still to be optimized

Great!
As I see in this fresh version, there's a new vm directory in servers
compared with 3.1.3a version.

--
Guanqun

Ben Gras

unread,
Mar 28, 2009, 9:06:41 AM3/28/09
to minix3
Thanks for your reports so far guys, keep em coming :-)

Jens de Smit

unread,
Mar 30, 2009, 5:49:08 AM3/30/09
to minix3
On Mar 28, 1:42 am, Midnitte <midni...@gmail.com> wrote:
> Using Qemu 0.9 on windows and I managed to get 3.1.4 installed but I
> can't seem to get the lance driver to work, is there any notification
> as to if its working once you enter qemu_pci=1? Once it starts the
> networking process it just reports "nonamed" so I'm not sure if that
> means its not working or if I did everything I was suppose to do.

"nonamed" is actually your domain name resolver, it's supposed to
start as part of the network stack.

However, AFAIK Qemu does not emulate a Lance network card by default
but a Realtek card. Why did you pick Lance?

Regards,

Jens

Ben Gras

unread,
Mar 30, 2009, 7:41:17 AM3/30/09
to minix3

> Probably there is a bug in the floppy disk driver:
>
> When i try to do "mtools format /dev/fd0:" i get this error:
>
> fd0: disk interrupt timed out
> fs: I/O error on device 2/0
>
> It is not an hardware problem, it works on Minix 3.1.3 r3066
> I will file this bug in the bug tracker.

Ehmm, I can't reproduce this - reading and writing from and to the
block device works on my system, so does 'format -v /dev/fd0'. Is
there anything more you can tell me?

Ben Gras

unread,
Mar 30, 2009, 12:51:18 PM3/30/09
to minix3

> Today i installed Minix 3.1.4 and now i am trying to compile
> /usr/src/lib with "make all-gnu".
> Probably something is broken here 'cause gcc fails to compile
> /usr/src/lib/sysutil/profile.c with a lot of errors like this one:
>
> profile.c:253 error: request for member '_' in something not a
> structure or union.
>
> It should be a little problem with the u64_t type definition....

True. Thanks for the report.. that was a fix to make ports a bit
easier. A fix is on its way. Thanks for the report!

Arun Thomas

unread,
Mar 30, 2009, 1:12:12 PM3/30/09
to min...@googlegroups.com
Should be fixed in HEAD now. Thanks for the bug report.

Arun

Maurizio Lombardi

unread,
Mar 30, 2009, 4:56:22 PM3/30/09
to min...@googlegroups.com
> Ehmm, I can't reproduce this - reading and writing from and to the
> block device works on my system, so does 'format -v /dev/fd0'. Is
> there anything more you can tell me?

Hi Ben,

'format -v /dev/fd0 1440' doesn't work for me, it fails with the same error.
I will try to debug the floppy driver and i will tell you something more, ok?

however, i found two new problems:

1) "make hdboot" fails because of errors in framework/audio_fw.c

DEV_READ undefined
DEV_WRITE undefined
.....
unknown selector REP_PROC_NR
illegal use of selector REP_PROC_NR

and so on....

2) I did a clean reinstall of Minix 3.1.4 and a terrible system panic
(hard reboot) occurred,
you can reproduce the problem (i hope) with the following sequence:

- Reinstall Minix 3.1.4
- Choose the "R" option (Reinstall Option, leave /home untouched)
- Install all packages (packman 'all')

System panic occours when packman will try to "Update GCC Libraries"

Everything work fine if you choose the "F" option (Full Reinstall Option)


--
--------------------
Maurizio Lombardi

Ben Gras

unread,
Mar 31, 2009, 7:17:21 AM3/31/09
to minix3

> 2) I did a clean reinstall of Minix 3.1.4 and a terrible system panic
> (hard reboot) occurred,
> you can reproduce the problem (i hope) with the following sequence:
>
> - Reinstall Minix 3.1.4
> - Choose the "R" option (Reinstall Option, leave /home untouched)
> - Install all packages (packman 'all')
>
> System panic occours when packman will try to "Update GCC Libraries"

Sounds awful. What's the panic? What are you running on? (which
emulator/hardware?)

Maurizio Lombardi

unread,
Mar 31, 2009, 7:22:46 AM3/31/09
to min...@googlegroups.com
> Sounds awful. What's the panic?

I can't see any message, the machine just reboots.

> What are you running on? (which
> emulator/hardware?)

It's an old Pentium III PC with 32 Gb of HD and 96 Mb of RAM. Minix
runs on a partition of 3 Gb of RAM

--
--------------------
Maurizio Lombardi
OpenSolaris 2008.11
on x86_64
--------------------

Ben Gras

unread,
Mar 31, 2009, 7:22:54 AM3/31/09
to minix3

> 1) "make hdboot" fails because of errors in framework/audio_fw.c
>
> DEV_READ undefined
> DEV_WRITE undefined
> .....
> unknown selector REP_PROC_NR
> illegal use of selector REP_PROC_NR
>
> and so on....

That's weird; are you sure this is 3.1.4? DEV_READ and DEV_WRITE are
supposed to be long gone.

Maurizio Lombardi

unread,
Mar 31, 2009, 7:26:07 AM3/31/09
to min...@googlegroups.com
>
> That's weird; are you sure this is 3.1.4? DEV_READ and DEV_WRITE are
> supposed to be long gone.

Yes i am sure, it's the 3.1.4 r4203.

It works for you?

Maurizio Lombardi

unread,
Mar 31, 2009, 7:27:12 AM3/31/09
to min...@googlegroups.com
> It's an old Pentium III PC with 32 Gb of HD and 96 Mb of RAM. Minix
> runs on a partition of 3 Gb of RAM

Sorry, 3 Gb of HD space.

Ben Gras

unread,
Mar 31, 2009, 10:22:12 AM3/31/09
to minix3
Ahh as David suggested (IRL), it's probably due to installing all
packages - audio installs some sources files there. as audio is merged
with the base system, that package is obsolete and I've thrown it out,
which should fix this.

Edward Kaplan

unread,
Apr 1, 2009, 11:18:38 AM4/1/09
to minix3
I've tried updating my /usr/src/lib to svn trunk, but the same error
occurs when building profile.c. Is the fix somewhere else?

-Ted

Arun Thomas

unread,
Apr 1, 2009, 11:47:32 AM4/1/09
to min...@googlegroups.com
On Wed, Apr 1, 2009 at 5:18 PM, Edward Kaplan <t...@shlashdot.org> wrote:
>
> I've tried updating my /usr/src/lib to svn trunk, but the same error
> occurs when building profile.c.  Is the fix somewhere else?

The fix modified headers in /usr/src/include. If I understand you
correctly, you updated /usr/src/lib only? If so, try updating all of
/usr/src. Do a 'make clean' (just in case). Then, follow the
instructions here: http://www.minix3.org/tracking-current.html.

Let me know if that works.

Arun

Ben Gras

unread,
Apr 3, 2009, 12:10:58 PM4/3/09
to minix3
There's a new snapshot up on the download page, of subversion revision
4220. A few quirks are fixed (randomness entropy, compiling system
libraries with gcc). Give it a shot, I'll take down the older snapshot
if nobody complains about this one.

00110001

unread,
Apr 6, 2009, 8:57:38 PM4/6/09
to minix3
I installed the 4220 version (all packages) in VMware running on RHEL
5. Seems to have gone OK though the GCC library update required > 60
minutes to complete with one of the cores pegged at 52% the entire
time; this is on an Intel Core 2 3 Ghz machine.

Also, the installer did not check the disk for bad sectors, it did do
this in previous versions.

Kudos for getting the NIC working properly under VMware without the
need to fiddle with it. ;-)

Greg

00110001

unread,
Apr 8, 2009, 6:17:02 PM4/8/09
to minix3
Hmm - actually upon further use I've realized that GCC did not install
properly and will not install.

The librarys are installed with the make install all-gnu, however the
GCC binary is not actually compiled by any method, packman, the easy
updater or by manuall compile.
Unfortunately I don't have the time to devote to tracing the cause.

Greg

Maurizio Lombardi

unread,
Apr 19, 2009, 7:31:50 AM4/19/09
to min...@googlegroups.com

Hi,

i'm trying to find this bug that prevent me to use the floppy drive.

However i need a little help:
Should i look for the bug only inside floppy.c or there is some other
component that can be involved in this behaviour?

Reply all
Reply to author
Forward
0 new messages