You are not logged in.
Pages: 1
Hello Forums,
lately I discovered minix3, that cool microkernel OS. Here is an Wikipedia article about it.
I gave it a shot and ran it in vmware (needs to be workstation 5 compatible or it fails), but the packagemanager ("packman"), honestly, just sucked compared to arch's pacman. Then I thought about what was if there was a minix distribution with arch's features like pacman, rolling release, aur etc?
What do you think about this idea?
Also notice, that both minix and arch follow KISS ideas.
PS: I already tried to compile pacman, but its not that easy. I couldn't even get libdownload running, a dependency of pacman, because it depends on glibc - which isn't ported yet (if it will ever be ported). Maybe a rewrite would be better - either of libdownload or a full one of pacman, but with its features (not saying that I have the skillz to do this yet, just thoughts).
regards, thoughtcrime
EDIT: Porting pacman to minix
Pacman's dependencies: libarchive, libdownload (i'm planning to use libfetch instead as it does not depend on glibc(?))
Note: I downloaded all the tar.gz files on my host Archlinux, repacked them to tar files and downloaded them with the VM from my host machine via wget (apache server). Then I could extract them with
tar x archive.tar
Before getting started:
chmem =10000000 /usr/local/bin/bash
chmem =10000000 /usr/bin/make
export GREP=/usr/bin/grep
export PATH=/usr/gnu/i386-pc-minix/bin:/usr/gnu/bin:$PATH
1. libarchive
depends on: zlib, bzip2
1.1 zlib (tested with zlib-1.2.3.3)
This one works out of the box:
download the sources
./configure
make
make install
1.2 bzip2 (tested with 1.0.5)
download the source
apply this hack:
In bzip2.c, comment these lines out: 1067-1078
make
make install
1.3 libarchive (tested with 2.5.5)
download the source
do these hacks:
libarchive/archive_read_support_format_mtree.c:30
add #define S_IFSOCK 0140000
libarchive/archive_write_disc.c:505
block_size = 4*1024;
NOTE: This isn't really how it sould be. 4kb is just the default value for Minix; core-ix on #minix (freenode) suggested finding a relation between st_size (file size) and st_blksize
libarchive/archive_write_set_format_pax.c:44
add #define EILSEQ (_SIGN 92)
tar/siginfo.c:117
safe_fprintf(stderr, "%s %s (%ju / %PRId64 )",
NOTE: This one isn't great, too. Suggestions?
then type
./configure
make
- this is how far i got it working
2. libfetch
3. pacman
i'll try to complete this howto and get it really ported when I have time
Last edited by thoughtcrime (2009-01-01 16:40:52)
- blog (about arch and other stuff): http://thoughtyblog.wordpress.com/
- x86_64 user
Offline
Minix is still more of an undergrad playground and proof that ridiculously stable OSen can be made than a desktop or even server/workstation OS. The vast majority of Linux software needs changes to work well with the Minix kernel. And for the people it targets, a distro isn't really necessary or helpful. Don't get me wrong - Minix is fricking awesome. It's beyond stable, (go ahead, try and make it crash - the devs are working on being able to repeatedly kill various drivers during a networked file transfer and STILL have it finish perfect, if that gives you an idea of what a rock it is) and is the kernel Linus used when writing Linux. I really hope ideas and code from it enter more mainsteam kernels, or it itself becomes more mainstream. But a distro won't really enhance that yet, I would say... and would require massive effort.
Offline
I still love the idea. I used Minix3 for a while and really enjoyed it. What made me stop is the lack of a real package manager. There are already some important applications that have been ported such as Apache, Python or X, so I think Minix3 is ready to be used, at least on a server. Linux was not really better at the end of the nineties, and still a lot of people already used it.
EDIT: If somebody wants to port Pacman to Minix, it would be a good idea to either port glibc (which would probably be difficult), or use one of the Python implementations of Pacman around. I think this would be the the best solution for now.
Last edited by catwell (2008-12-23 12:24:42)
Offline
I believe you can use bsd libfetch instead of libdownload. I compiled pacman with libfetch on OpenBSD using the native C library and without installing glibc (At least not consciously ), therefore I believe it is very well possible.
Last edited by wuischke (2008-12-23 18:20:34)
Offline
Offline
Minix is still more of an undergrad playground and proof that ridiculously stable OSen can be made than a desktop or even server/workstation OS. The vast majority of Linux software needs changes to work well with the Minix kernel. And for the people it targets, a distro isn't really necessary or helpful. Don't get me wrong - Minix is fricking awesome. It's beyond stable, (go ahead, try and make it crash - the devs are working on being able to repeatedly kill various drivers during a networked file transfer and STILL have it finish perfect, if that gives you an idea of what a rock it is) and is the kernel Linus used when writing Linux. I really hope ideas and code from it enter more mainsteam kernels, or it itself becomes more mainstream. But a distro won't really enhance that yet, I would say... and would require massive effort.
I think at least a proper package manager like pacman can be very, very helpful. You know how many software there is in arch's AUR - so what if we had something like that for minix? More users would patch more software and everybody could install them -> more mainstream, more popularity, more software ported etc
I still love the idea. I used Minix3 for a while and really enjoyed it. What made me stop is the lack of a real package manager. There are already some important applications that have been ported such as Apache, Python or X, so I think Minix3 is ready to be used, at least on a server. Linux was not really better at the end of the nineties, and still a lot of people already used it.
EDIT: If somebody wants to port Pacman to Minix, it would be a good idea to either port glibc (which would probably be difficult), or use one of the Python implementations of Pacman around. I think this would be the the best solution for now.
Thanks for telling me that there are python implementations of pacman. I'll have a look at them.
I believe you can use bsd libfetch instead of libdownload. I compiled pacman with libfetch on OpenBSD using the native C library and without installing glibc (At least not consciously
), therefore I believe it is very well possible.
This would be awesome, i'll give this a try when I have time
"When will be glibc under MINIX 3?"
- "Probably never."
I've already read that before (not hard to find with google). Please note that this answer was given by the glibc team afaik, so this means that they may not want to do a port to minix at this point (maybe when its more popular). It does not mean, that it is not possible - so the community could do it.
Thanks for your great feedback everybody. I'll try your ideas out and report if one of them works
- blog (about arch and other stuff): http://thoughtyblog.wordpress.com/
- x86_64 user
Offline
Pages: 1