Amiga UNIX conference, held on #AmigaUNIX on June 12 1999, 21:30 GMT+1 DST Moderated and logged by Bernardo Innocenti Hubertf is Hubert 'hubertf' Feyrer... in the little sparetime i find lately, i've been working on the NetBSD Packages System mostly: getting it to run on NetBSD (it originated in FreeBSD), various improvements (wildcard conflicts, package database, ...), and lots of package creations, of course ;) CONFERENCE POLICY: if you want to get voice, /msg _Bernie i'm running NetBSD on i386 mostly these days, altough i have also arm32, sparc and amiga available with them i386 was mostly a price/performance decision - i386 is still the fastest for the many (sorry all amiga veterans left here ;) i got to NetBSD via my amiga, though... which is - like 6 years ago. back then, several unix utilities were available under amigaos, and their number was growing: starting with csh, then gcc & emacs... one day i discovered that some madmen invested time into porting the Mach microkernel to the Amiga, but that project didn't get beyone a kernel thread printing "hello world" :-) shortly after that, Markus Wild made his first versions of NetBSD/amiga public, which wasn't integrated into the main NetBSD CVS tree, as it's today some early traces of this can be found at http://rfhs8012.fh-regensburg.de/~feyrer/NetBSD/jm-postcard.html, btw it's a card from jm, whom i helped installing NetBSD then :) well, after some starting problems and helping to get around them (I'm still proud to say that my A2k was the first A2k running NetBSD/amiga in singleuser :-), and being probably the first person who run an X client of an A2k w/ NetBSD (xclock over a SLIP line, connected to a SparcStation 10 :), and compiled by hand, without a "make" in X... well, at around that time, I started out the netbsd-amiga ftp archive at ftp.uni-regensburg.de:/pub/NetBSD-Amiga ... i and many others uploaded compiled binaries of about anything, and i started a concept of how to make such packages available (then known as EasyInstall)... this was in use for quite a time (and it is still at some places :-), but was superceded by what was taken from FreeBSD like 2(?) years ago for the rest of the story... see above :) anyone left awake? ;) hubertf: Yep. Are you still involved with any major contributions to the NetBSD project? hubertf: the FreeBSD-style pkg system is simply great, I think the best one in the unix world... Mad_Pilot: well, you have to make a difference between the build system, and the packaging system... the build system is absolute superior, nothing to add there :) hubertf: I've never used the the packaging system, alwys used pkgsrc ;_) Mad_Pilot: the packaging system has it's problems, e.g. with package updates, dependencies, etc. Mad_Pilot: don't forget the Solaris package system. Looks a lot like the NetBSD pkg system... Bernie: I think BSD has borrowed something from it, but solaris doesn't have a parallel pkgsrc like system... Bernie's right here, although solaris only provides a packaging mechanism, not much to actually build (compile, configure, ...) things speaking of, the NetBSD Packages System is being ported not only to all the architectures NetBSD runs on, but also to Solaris and Linux. Once that porting is done, one can just "cd /usr/pkgsrc/foo/bar && make install" on Solaris and Linux as well. Mad_Pilot: Solaris suffers a lot because it's not an open-source OS like NetBSD or Linux. hubertf: what about RPM? I've recently been making some rpm packages and it looks quite flexible and stright forward. Bernie: rpm's build system is ... a bad joke. the packaging up is quite good, though. rpm's dependency system is quite different from *BSD's, they leave much work to tools outside rpm which is what the *BSD don't do - they handle (a modest amount of) all the work themselves paddyWack: you were going to talk about the diffrecences between the PPC kernels available on the Amiga, would you mind to take voice in a minute? hubertf: I don't know anything about debian packages. How do they look? no idea :) i just read the RPM book during some holiday i didn't bother to find docs on debian, although i hear their system's not bad as well but i haven't had a look i've even heared rumours about debian going to take some of the NetBSD packages system once it's ported to Linux but I can't speak for debian here, of course The FreeBSD ports is really a huge collection of software. It rivals Aminet in size and perhaps beats it in organization. probably :) a problem with such a growing collection is it's maintainance hubertf: you bet :) almost all packages are a bit older than the real distributions... Bernie: yes, anyway never older than a pair of weeks... «Voice» Bernie gives voice to paddyWack im just wondering if amiga/unix programmers have any viewpoints on the rival amiga ppc-kernels .. i see ppc unix-ports on the amiga all the time but nothing near to an official stand among programmers as to which kernel should live.. both cant live forever...one has to go... unix-programmers i guess would be attracted to the warpos system as it has many qualities of unix like memory protection not much to say ... ive used amiga for some ten years now and has never really been into programming.. i do however take interest in OS-structure and is for the moment hung up in the choice of ppc-kernels :) paddyWack: i see you speak of several ppc-kernels... can you tell more about which OS they're on? e.g. i haven't heared much about NetBSD on amiga/ppc ... hubertf: i probably dont know more than you :) hubertf: I'm wondering what's the current status of NetBSD for Amiga powerup systems. Linux APUS proved a PPC native kernel is possible and its source code shows how it can be implemented. Bernie: i've only heared rumours that someone's working on the NetBSD/amiga/ppc port... unfortunately having GPL code (like i expect the Linux kernel is) isn't too helpful, as it's not free enough for the BSD license paddyWack: unfortunately, neither the Phase5 kernel, nor the H&P one do have anything like a POSIX interface. this makes porting UNIX stuff to Amiga PowerUp systems a bit of a hassle nowadays. to add more confusion, there's an incomplete/beta/unofficial effort to provide the ixemul.library to PPC programs. It only runs on P5's kernel thus. Bernie: yes, the ixemul is interesting... does anyone know why it is not being ported to warpos? Anyway, with all this confusion it would be great to see some advice from programmers as to which kernel is the best choice, for an ordinary user like me... paddyWack: it's just a matter of lack of volunteers. Fred Fish is very busy at Be, Inc. and the ixemul maintainter was vacant for a lot of time. Looks like Amiga Inc. made it clear that OS 3.5 will incorporate WarpOS. Too bad the ixemul.library only runs on the P5 kernel paddyWack: and H&P don't have any interest in supporting a library which would help a rival compiler (gcc/egcs) and would make rival applications easily portable to the Amiga. Bernie: also, ixemul seems often to be a temporary step in the porting. many programmers seem to use it only in the first stages of porting, making a port that doesnt require it later... Is this a tendence? paddyWack: porting with ixemul.library is easy. You just fix the Makefiles a bit and everything should compile nicely on the Amiga. of course switching to the native Amiga API makes the programs faster and more integrated with the OS. paddyWack: The current ixemul.library implementation is very slow because it emulates a POSIX environment on top of a non-POSIX OS. the goal of ixemul is being as accurate as possible in the emulation rather than being fast. Bernie: i see... So you generally get code that is free of bugs but slow then? paddyWack: Yes. the main goal is modifying the original code as little as possible. this way, one developer can port a huge amount of software to the Amiga and it can be updated to the latest versions very quickly. I have just received an interesting piece of information. Alberonn is on IRC with a C128 ;-) Thanks for the attention. by everyone :) «Voice» Bernie gives voice to Alberonn Yes, the system that refuses to die. C= Made good hardware... :) Alberonn: fantastic! I should try that with the spectrum 128 ;-) Mad_Pilot: As long as you have access to a Unix shell acct. You can use any v102/ANSI/Ect. to go online. My ISP has the Unix shell alongside my PPP acct. Alberonn: that's nice. Did you ever try lunix on your C128? Right now my A2k is in the hands of GVP-M. I'm looking at trying to setup Linux red Hat and I'm pretty much in the dark on the world of Unix... Where do i find it? (ftp.funet.fi perhaps???) Alberonn: the URL was http://hld.c64.org/poldi/lunix/lunix.html Don't know if it's still there. So you're using a unix irc client through a terminal program in your C-128? Bernie: That is correct. I'm still new to IRC. I tried a demo for an Amiga IRC and couldn't get anywhere. (Operator errois is a good chance of being my problems with that one..) Alberonn: actually you can go on IRC manually with a telnet connection, but handling the IRC protocol manually is not very easy... «Voice» Bernie gives voice to MagiX Alberron: Already nice... are the programs to be found somewhere on Internet (C128 website ?) There are several web sites. For NEW C64/128 Hardware/Software go to http://www.cmd.web.com They have good links as well. Our User's group page is a shambles until I can get my A2k back from GVP-M. (I may have to get nasty though.) :( Bernie: I was saying that I'm not sure it's H&P way of thinking that they don't implement xemul just because it could be a concurrent MagiX: last year I've talked with Michael Rock, developer of StormC. He told me he dislikes Amiga ports of UNIX applications because they are not in the style of the Amiga. Bernie: That's either the typicall coder pre-judgement or... a good excuse ;-)) But I think H&P would better support ixemul to develop the Amiga because this would be far better for them ;) MagiX: I think UNIX stuff ported to the Amiga means more power in the hands of the user and the developer. Of course, one can then compare the available software and choose which one to use... Their current position is that they're not doing anything against it. They just don't help with the developement. NEWSFLASH: If you want some good UNIX humor, try this url: http://prime-mover.cc.waikato.ac.nz/Bastard.html ANYBODY ELSE WANTS VOICE? /msg bernie v Bernie: I always wanted to have a real ssh (secure shell = a secure telnet) on the Amiga, but never had time to code it, this would be very usefull ... MagiX: the currently available implementations only support the V1 protocol, I'm afraid Bernie: thats not that bad, the server still supports v1 protocol, unless the sysadmin explicitly disables it... MagiX: Couldn't you compile the program so you didn't have to use the ixemul? I've played a little with GCC and I have the dev. CD V 1.1 Albernoon: it isn't that easy...Unix programs use a lot of functions that doesn't axist under ados... Mad_Pilot: OK, like I've said, I'm a novice on a lot of this... :) Alberonn: AFAIK xemul is needed to *compile* Unix programs not to emul :) because Unix program uses date() and it isn't under AmigaOS you need xemul (well this is not a good example but i hope you understand what I mean ;-))) OK, got it. My problem was trying to find a ground zero book on C. I have been getting the tools together, but I need more reference to walk me thorugh. I have been understanding a little. I got the sample "Hello World" program to comple. :) I was also able to comple the MUI source and have it work. It ended up a bit larger than my original file. What would be a good starter's reference to C, Unix, and anything relavent to this subject? Alberonn: "The C programming language" by Kernighan and Ritchie Alberonn: c -> kernighan/ritchie (the c programming languate); unix (shell): kernighan/pike (dunno title, there should be only one); unix programming: all the books from richard stevens Alberonn: c: read "ANSI C" by Rithie & Kernighan... Mad_pilot: there are two SSH on Amiga, but one is buggy and the other doesn't run in terminals, is commercial and doesn't displays correctly MagiX: oh, too bad, I didn't know, since i've been using only NetBSD on my Amiga for 2 years now... 12:39AM up 11 days, 12:19, 1 user, load averages: 1.25, 1.12, 1.09 My amiga's uptime... Load is always 1 since I have rc5des running on all my machines ;-) Mad_Pilot: ;)) For those of you who don't know him, Mad_Pilot is a very atypical Amiga user: since two years, his Amiga only boots into NetBSD. Bernie: whose doesn't :-) grizu up 152 days, 11:30, load average: 0.08, 0.08, 0.14 Another amiga ... :) hubert: :-9 Wonderful uptime... Bernie: I still have the amigados partition in the very same state it was when I installed netBSD 1.3 ;-) If I boot it, it still works...Mostly ;_) Mad_Pilot: ;-) Porting it from Unix to Amiga thanks to xemul would be easy I think (?) MagiX: no, but to recompile it you would have to modify most of the program,. getting ixemul and slightly modifying the makefile is much easier... MagiX: Not ssh. Like bash, ssh is probably one of these applications using the fork() system call quite a lot. On the Amiga, implementing fork() is nearly impossible. Perhaps it's also not possible on the WarpOS kernel. This is so because fork() creates a mirror copy of the current process, copying all its address space. This requires resource tracking in the first place and virtual memory (overlapped virtual addresses). I don't think the H&P kernel do have virtual memory. Bernie: No, ssh is like telnet, only a TCP connection Well, i suppose ;-) You mean that when connecting, the ssh client needs to fork... Are we speaking of the *client* ? MagiX: calling fork() is the usual way to spawn other programs or subshells on UNIX. A program calls fork() and then exec() or one of its variants in the child process. The usage in C is something like this: if (fork()) printf("I'm the child process\n"); else printf("I'm still the old process\n"); Bernie: I know, but I don't see why SSH should fork : Telnet doesn't fork, AFAIK ? MagiX: ssh looks more like rsh... it executes a program remotely. you're probablt right: the sshd probably uses fork() a lot, while ssh should be hopefully fork()-free. IIRC, the configure script of ssh was a bit complex. Perhaps the porting problems with ssh will start there. Bernie: the ssh client doesn't fork, magix is right... The server does a lot... Bernie: it also tries some asm routines, I had to disable that feature to have it compile under NetBSD-FreeBSD...(now the pkgsrc tree does that automagicaly ;_) Bernie: Yes I think :-) I suppose the biggest problem comes from encryption :|| MagiX: don't think. Pure algorithms are easy to recompile on other systems. The problems come with networking stuff, terminal emulation, file I/O, etc. MagiX: if you want to try a port, you might install a full featured GeekGadgets snapshot (a recent one is available at ftp.ninemoons.com), decompress the ssh distribution and try building it the usual way. bernie: not that simple...Geekgadget's gcc has problems compiling networked applications (at least, I tried with AmiTCP 4.3 with no luck...) Mad_Pilot: maybe we should wait for a GG dialer and integrated stack Mostro: not a bad idea, but perhaps with miami we can have better luck... Mad_Pilot: dunno... if the Fred Fish saint will cooperate with the super-magic-miami-author-holger-kruse Bernie: but the problem is interfacing with the TCP stack... It did compile when I tried, but didn't connect... Mad_Pilot: Some time ago I've recompiled ADT (the Aminet Download Tool) with GeekGadgets. It worked, but the curses terminal emulation wasn't perfect. now they switched to egcs 1.1.1... and the ixnet.library should emulate BSD sockets quite well right now. Bernie: I don't know GeekGadgets: How does it work ? MagiX: it's a collection of GNU and other UNIX stuff ported to the Amiga. Everything is based on the ixemul.library, and compiled with gcc/egcs. By installing several packages, you can build a very UNIX-like environment where you can run UNIX scripts, build programs, etc. It includes X11R6.3, ncurses, ksh, perl, unixtex... so if you are a UNIX freak you won't miss much with GeekGadgets. Bernie: intersting :)) Does it change the Amiga, or is it possible to use it in different place without interaction with the basic system? Bernie: I looked at the GG archive and promptly got lost at exactly what I needed and didn't need. I was looking at one of the commercial C Packeages, but I really don't know what'd be the best to get. Cost/ease/ect.. MagiX: it installs a UNIX like tree (bin/, lib/, etc/...) in a directory of your choice. only the ixemul-aware programs will live in the UNIX-like environment. The rest of the Amiga still runs nicely. there are no patches. It's not like the P5 or H&P kernels. Bernie: ok let's admit it is easy to compile ssh in this environnement, what should I do next to make it run under a normal Amiga? (nothing except having the ixemul ?) MagiX: you must discover where "make install" puts the stuff, collect all the relevant files and make a distribution. You also need to discover if ssh uses any external tools (e.g.: gzip, telnet, etc.). Then, anyone with ixemul.library will be able to run ssh without all the other geekgadgets stuff. For instance, the Amiga ports of Apache and Samba are GeekGadgets tools which have been adapted to live in other directories. Bernie: great :) Bernie: the X11 server is B/W, you have to recompile it to get color... Mad_Pilot: I've not checked with the latest snapshots. I think they only support color with AGA, Picasso II and CV64. Bernie: yes, but the precompiled binary doesn't have it linked... Mad_Pilot: perhaps the binaries from the latest snapshots do... Bernie: I think you can always use an AmyWin server :) Mostro: Yes, and it's even very fast. Too bad it limits you to 800x600 and 4 clients unless you're registered. But that's a nice colorful X server under any CGX gfx card. Bernie: 3 clients... Mostro: Furthermore, Holger Kruse has not updated it for a long time Bernie: Always Holger... do you remember the ppp problem? Mostro: I'm very disappointed with the support Holger gives to registered users of his applications. Mostro: unfortunately, he's one of the best programmers on the Amiga and his programs are always very good. Bernie: you're right, I waited 3 months for the ppp.device key (during which I used a pirated keyfile;-) Bernie: don't you think it's simply too much for someone alone? And is Holger Kruse working or studying? <_Bernie> MagiX: Yes... actually, holger ports BSD stuff to the Amiga, improves it and adds Amiga-style features to it, then he makes it shareware. The BSD license allows this. Am I right, Hubert? Bernie: yes Licenses are a hot discussion point nowadays. IIRC, even GPL would allow this... GPL just forces you to release the (modified) sources again, to the masses Does Kruse live in USA ???? MagiX: yes Bernie: Strange, I met him in Europe with realizing he was coming from USA :) Well I even chatted with him 20 minutes without knowning who he was ;-)))))) MagiX: did you meet him at Compter '98? Bernie: Computer 98, yes MagiX: I was there too The AROS (Amiga Replacement OS) team has been discussing the license terms for a lot of time and still a final decision has not been taken. Does anybody know about AROS? Anybody here involved with AROS? Bernie: just it is always a litlle better, but never saw anything running... Wanted to be involved, but too high level for me ;) * _Bernie has no more cigarettes :-( MagiX: I've successfully compiled parts of it with GeekGadgets... And I've also built the latest CVS sources on my Linux/i386 box. Runs nicely. A lot of work has been done so far... To bad very few people know about it. Well, as soon as it will be complete enough and easy to install it will have great success :-) Hubertf: AROS should also run on Net/FreeBSD-i386... Never tested myself Bernie: :) what exactly is AROS? hubertf: http://www.aros.org Bernie: lots of text... can you put it in one sentense? :) bernie, so, what does it mean if it runs on ... something like VMWare for Linux? hubertf: I think it is more like WINE... hubertf: AROS is a project started a few years ago. It's goal is rewriting the current AmigaOS in a portable way. The result will be available freely (a license has noot been picked up yet). Hubertf: they're already at a good stage. About 55-60% of the OS has been rewritten so far. The most important (and lower level) libraries and devices have already been completed. Why not use the native drivers, if it runs on top of some OS? <_Bernie> hubertf: yes and no. AROS can be compiled in many flavours. Native flavours run a standalone OS (just like NetBSD or Linux), while emulated flavours are user programs running inside another OS. uh huh... well :) reminds me of hurd/gnu :) bbl Hubertf: what do you think about microkernel based OSes? NetBSD is a traditional monolythic kernel, but the hurd looks promising. Almost all the developers of AROS are using the Linux-i386 emulated flavour. As of today, Intuition displays the Workbench screen inside an X window, while the initial shell is still attached to the stdio because the console.device has not been completed yet.. I'm personally very fond of AROS and I'm disappointed because almost nobody knows of it. Bernie: everyone knows about it, but it won't be used before it is really usable "in production", i mean before it can replace the real os :) MagiX: if you want to experiment with AROS, you can join the mailing list and ask Aaron Digulla to give you access to the cvs server. BTW, you mentioned Mach for the Amiga... I have a link in my hotlist for those interested: http://www.emi.u-bordeaux.fr/~vincent and, there's also an AmigaOS implementation partially based on AROS, running as a Mach server. It's called MkAmiga and it's a thesis work. here it is (source code available): http://www.uni-mainz.de/~ruppert/ NICE ! All this is approximately in the same direction as the NG OS! QNX microkernel as kernel for the AmigaOS MagiX: something ought to be done to push those nice works. I think that we'll change from "OS <-> Applications" to "kernel <-> OS <-> Applications" I'm leaving... I'm very tired and tomorrow morning I've got to get up early. Good night.