Re: [9fans] 64-bit usb boot environment
Hello I think the correct url is: http://newftp.9atom.org/other/usbtest.bz2 regards, gabi From: 9fans-boun...@9fans.net [mailto:9fans-boun...@9fans.net] On Behalf Of john francis lee Sent: Monday, October 21, 2013 1:07 AM To: Fans of the OS Plan 9 from Bell Labs Subject: Re: [9fans] 64-bit usb boot environment Object not found The object /other/usbtest.bz2 does not exist on this server. errstr: '/usr/web/ftp/other/usbtest.bz2' directory entry not found uri host: header host: ftp.quanstro.net actual host: ladd.quanstro.net On 10/21/2013 11:48 AM, erik quanstrom wrote: this isn't perfect, or complete, but there is a minimal 64-bit and/or 386/pae usb boot environment here http://ftp.quanstro.net/other/usbtest.bz2. it's only 10mb, so it should be a quick download. the reason for building this was to quickly debug a system that wouldn't install, but it might be interesting to try out. a few random notes and gotchas: 0. with dhcp, one can get to get to the full distribution with: ip/ipconfig ndb/dns 9fs atom 1. you will find the usb boot device @ /dev/sdu0, a loopback device. 2. there is a bug in kfs (patched in 9atom; patch submitted to sources) to be aware of. so be careful if using tools from sources on 64-bit kernels. 3. finally, there's (by plan 9 standards) quite a bit of acpi support in the 64-bit kernel. power events have been somewhat rashly turned on, and may cause trouble. as always, i'd be interested in any reports of success or failure. - erik -- john francis lee 246/3 Moo 22 Thanon Kaew Wai Mueang Chiangrai 57000 Thailand Hi there, NSA 'analysts', in-house and/or contracted. Just reminding you that if you are reading this you are committing a crime, that you are felons mocking the 4th Amendment of our US Constitution ... The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no warrants shall issue, but upon probable cause, supported by oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized. ... and that someday, really soon I hope, you're going to have to pay for your crimes. You're breaking international laws as well, so if you're thinking of the 'I was only following orders!' 'defense' ... Please see Nuremberg Principle IV ... The fact that a person acted pursuant to order of his Government or of a superior does not relieve him from responsibility under international law, provided a moral choice was in fact possible to him. ... and start exercising your moral choice. Look upon Thomas Andrews Drake and Edward Snowden as your exemplars and Patron Saints.
[9fans] exiting nicely
hello I have a couple of processes working together sharing memory and using locks, and when the program finish the job and exits, the proceses in Rendez state does not exit, and i need to slay them. I'm using postnote(PNGROUP,...) call, should i write a postctl to slay the waiting proceses or is there a better way to accomplish this? (may be using canlock and wait for it with a loop and sleep instead of a qlock?) thanks gabi
Re: [9fans] exiting nicely
hello i think i'll do the checkexit() and doublecheck again all exiting procs unlocks all the locks they had, as the only place to check is when a proc is waiting to read from the 9p pipe: qlock(iorlock); n = read9pmsg(mfd[0], io-mdata, messagesize); qunlock(iorlock); thanks! gabi I have a couple of processes working together sharing memory and using locks, and when the program finish the job and exits, the proceses in Rendez state does not exit, and i need to slay them. I'm using postnote(PNGROUP,...) call, should i write a postctl to slay the waiting proceses or is there a better way to accomplish this? (may be using canlock and wait for it with a loop and sleep instead of a qlock?) looping on canq?lock is not a good idea. i think what you want is to ensure that no proc is doing anything that shouldn't be interrupted when it is killed or quits. for many programs, interrupting writes is a bad idea. one would want a half-written upas index file, for instance. rc checks a global sentinal at a few strategic points (where it can clean up easily) when it receives a signal. perhaps you could borrow this technique, as in /* * exit the building single file */ void chkexit(QLock *q) { if(!exiting) return; qunlock(q) cleanexit(); } ... qlock(resourcelk); chkexit(resourcelk); ... qunlock(resourcelk); this might not be appropriate. the bad things that might happen if your interrupted in the middle of something might not be bad enough to worry about or this might be difficult to implement with your program. - erik
Re: [9fans] strange behaviour of ps under load
hello I already rebooted the machine so I can't check this anymore on a live system, but as you said, the clock was out of sync 10 minutes from what it sould, I activated timesync again ( /proc still shows the same incorrect date). Also i did a snap of a broken proc a day before I found the machine on that state, but when i did it, the system was behaving properly, I can't remember anyting unusual. If it happens again, I'll post to the list again, Also, something important I forgot to mention, this is a vmware machine. vmwarefs isn't running. May be the next time i could have enough time to try to acid the kernel. . . . thanks gabi
[9fans] strange behaviour of ps under load
hello today i found 9grid plan9 under heavy load, stats reports load ~2000, syscall ~6, context ~22000, i was trying to discover which proc has gone crazy, but i can't even complete a ps. I can do other operations, such as sending this email over drawterm, run stats, netstat, read the logs, etc. but i can't run ps, or any other /proc related tool, i can't kill/Kill/slay anything. I can ls /proc cpu% ls -l | wc -l 573 something like cpu% for(i in `{ls}) {echo -n 'PID ' $i 'has status. . . '; cat $i/status | wc -c } [] PID 1944693 has status. . . 176 PID 1944698 has status. . . 176 PID 1944699 has status. . . 176 PID 1944700 has status. . . 176 PID 1944707 has status. . . and here ends, i can't know which process is that nor kill it. I can ls it: cpu% ls -l /proc/1944707/ --rw-rw p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/args --rw-r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/ctl --r--r--r-- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/fd --rw-r- p 0 offending_user bootes 108 Dec 1 2008 /proc/1944707/fpregs --r--r- p 0 offending_user bootes 76 Dec 1 2008 /proc/1944707/kregs --rw-r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/mem --rw-r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/note --rw-rw-r-- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/noteid --rw-r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/notepg --r--r--r-- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/ns --r--r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/proc --r--r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/profile --rw-r- p 0 offending_user bootes 76 Dec 1 2008 /proc/1944707/regs --r--r--r-- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/segment --r--r--r-- p 0 offending_user bootes 176 Dec 1 2008 /proc/1944707/status --rw-r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/text --r--r- p 0 offending_user bootes 0 Dec 1 2008 /proc/1944707/wait i can't either chmod those files. (is that date normal? seems all /proc is with that date :?) any tip on how to solve this without rebooting? thanks!! gabi
[9fans] naive acid debugging
Hello While understanding how refs work inside nupas, i decided to try to implement the same function nupas has to find mailbox references in acid langauge, so i did: defn findmboxrefs(mb,fids) { local f, refs; f=fids; while f!=0 do { print(f=, f\X,\n); if f-mb==mb then refs++; print(f-mb=, f-mb\X, =? mb=,mb\X,\n); f=f-next; } print(refs ==, refs,\n); } using a Broken nupas (broked by an assert call), i got this: acid: findmboxrefs(*checkmboxrefs:mb,fids); f=0x0003a090 f-mb=0x=? mb=0x0004a468 f=0x0004bf68 f-mb=0x8d1c2444=? mb=0x0004a468 f=0x89e4 stdin:75: (error) indir: can't read address 0x89e4: bad arg in system call is that related to something wrongly done in the acid function? that means that there is an f which is pointing to an incorrect place? or means that as the process is broken, acid cannot read some parts of it? i forgot another possible issue, the broken process is owned by another user, i just chmod'ed /proc/pid/*. . . . thanks gabi
Re: [9fans] naive acid debugging
hello thank you very much Erik, I'll look at that code today night, i hope to see the light soon ☺ gabi While understanding how refs work inside nupas, i decided to try to implement the same function nupas has to find mailbox references in acid langauge, so i did: defn findmboxrefs(mb,fids) { local f, refs; f=fids; while f!=0 do { print(f=, f\X,\n); if f-mb==mb then refs++; print(f-mb=, f-mb\X, =? mb=,mb\X,\n); f=f-next; } print(refs ==, refs,\n); } first, i want to complement you on a fine use of acid. very nice. using a Broken nupas (broked by an assert call), i got this: acid: findmboxrefs(*checkmboxrefs:mb,fids); f=0x0003a090 f-mb=0x =? mb=0x0004a468 f=0x0004bf68 f-mb=0x8d1c2444 =? mb=0x0004a468 f=0x89e4 stdin:75: (error) indir: can't read address 0x89e4: bad arg in system call your assmption that each fid has a mailbox is wrong. see rattach() and sanefid(). they encode the rules. - erik
Re: [9fans] naive acid debugging
Hello Thanks Russ, seems that even though i tried to use your iwp9 2007 talk as a reference, i missed the point, i should read more carefully. gabi print(f-mb=, f-mb\X, =? mb=,mb\X,\n); f=f-next; Always use . (never -) in acid. If f is a pointer, then the acid expression f.mb is like the C expression (*f).mb aka f-mb. The acid expression f-mb is like the C expression (**f).mb. By using - here you are indirecting one level too far. - is one of those acid features that seems to exist only to cause confusion. Russ
Re: [9fans] security questions
hello you might want to take a look to vitanuova resources page for other inferno flavours than the official release. inferno-os.googlecode.com acme-sac.googlecode.com slds. gabi
Re: [9fans] python csp
hello i think somone pointed to this on 9fans days ago: www.stackless.com slds. gabi
[9fans] Fwd: Re: devtrace release time
---BeginMessage--- On Wed, Dec 17, 2008 at 4:07 PM, ron minnich rminn...@gmail.com wrote: The Masses are Revolting! You said it! They stink on ice! -History of the World, Part I. ---End Message---
[9fans] spamhaus alternative
Hello, I've started to get spam this week, seems that, or this has been applied to 9grid.es Caution: If your usage should exceed the free use criteria your access to Spamhaus's public DNSBL servers is very likely to be cut off without warning. or they are missing some well-known sources of spam. I've registered 9grid.es in http://www.barracudacentral.org/rbl/ and they are already blocking the spam emails i've got. slds. gabi
Re: [9fans] sam/rc script problem
hello it is possible to use sam -r from aplan9 machine to a linux one? it uses ssh too in plan9 isn't it? that could be a nice option too, if you're able to distribute sam to your hosts. slds. gabi
Re: [9fans] Do we have a catalog of 9P servers?
Hola, Hiding the details of the underlying resources is one of the functions/features of the OS, isn't it? slds. gabi -- [EMAIL PROTECTED] wrote: you of course know that the big difference in unix and other systems of the day was that files did not have type. this allowed a tools-based approach which was popular for many years. Not that type of types. I gave an example (which Charles Forsyth found to be a bad one) to set the types of types apart. I mean types as in named pipes (special files) versus regular files. In my experience which is limited to modern UNIX clones, i.e. Linux and *BSD, you can distinguish between a number of file types and decide what to do accordingly. You can tell a directory, from a (character or block) device, from a link, from a regular file. These same types could, and have been, be used to represent some details of the underlying resource. --On Wednesday, November 12, 2008 6:11 PM -0500 erik quanstrom [EMAIL PROTECTED] wrote: Why shouldn't there be file types to help better represent the details of an underlying resource? you of course know that the big difference in unix and other systems of the day was that files did not have type. this allowed a tools-based approach which was popular for many years. - erik
Re: [9fans] success with 9vx from a terminal
Hello, Rio is the responsible for killing a process using the Del key, AFAIK there is no way to terminate a program running in console. May be with some magic combination of the keys ctrl-t ctrl-t X. gabi -- [EMAIL PROTECTED] wrote: Last night I downloaded 9vx. It works fine from a terminal, using the following invocation: ../9vx.Linux -g -u glenda where -g is the option to run sans GUI. This has one or two complications. There is no way to interrupt or kill the foreground process. Instead, ctrl-c interrupts 9vx itself. Anyway, I managed to get an emulated Plan 9 system up and running. Both ed and sam -d work well for editing text. -- Chris
[9fans] Booting plan9 from an iSCSI disk
Hola, Has anyone done this? I have access to a cheap hardware which could be a nice plan9 cpu server, the only thing does not work is the iSCSI disk (or i think so, look at the lspci below) I suppose the bios of the machine supports booting from iSCSI, so i think i could put a 9load or 9pxeload there, but 9load is not able to load a kernel from iSCSI and i suppose i can't instruct 9pxeload to boot from specific server without using bootp/dhcp to boot, right? any tips on how to make this little thing work? (besides writing iSCSI support for 9load) here is he lspci output (it is a dualcore atom 1.6ghz intel board, 1gb of ram): 00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02) 00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01) 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02) thanks gabi PS: it has an ide controller but with no disks attached
Re: [9fans] trace device paper from akijohnron now available
hello www.9grid.es has a sources web interface under mirrors section http://sirviente.9grid.es/sources it is updated daily. slds. gabi I don't yet have any kind of P9 system, so no access to sources. Can I get a copy of the ps file? thanks, Arnold - Original Message - From: ron minnich [EMAIL PROTECTED] Date: Friday, September 19, 2008 2:19 Subject: [9fans] trace device paper from akijohnron now available To: Fans of the OS Plan 9 from Bell Labs 9fans@9fans.net This was going into greece but I am not going and they aren't either so: /n/sources/contrib/rminnich/tracepaper/trace.ps The modified 8l described in the paper is also in that directory. If you want the trace dev let me know. Code was aki, ron, and john. Comments are welcome. Thanks ron
[9fans] SATA VT8251 support?
Hi did anyone know if this controller is supported by the sata driver? i cant see anywhere in sdata.c and sdiahci.c. . . i guess it isnt supported at all, so there is no option to fill some silly pci-id somewhere to get it going. The new 9grid.es server has this controller, it would be a pitty not being able to run plan9 on it and be stuck to the 256M-RAM server :( (output of lspci -v under the linux the server comes with) 00:0f.0 IDE interface: VIA Technologies, Inc. VT8251 AHCI/SATA 4-Port Controller (prog-if 8f [Master SecP SecO PriP PriO]) Subsystem: VIA Technologies, Inc. VT8251 AHCI/SATA 4-Port Controller Flags: bus master, medium devsel, latency 64, IRQ 509 I/O ports at ec00 [size=8] I/O ports at e880 [size=4] I/O ports at e800 [size=8] I/O ports at e480 [size=4] I/O ports at e400 [size=16] Memory at fbfffc00 (32-bit, non-prefetchable) [size=1K] Capabilities: [c0] Power Management version 2 Capabilities: [e0] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+ Kernel driver in use: ahci thank you very much, gabi
Re: [9fans] Plan 9 on Blue Gene
hello thanks for the clarifications Eric and Ron ☺, btw, if you're planning to go to Greece to the 3rd. iwp9, i would love to see a real sheet of these ones: http://www.atkielski.com/PDF/data/fortran.pdf ☺ slds. gabi On Wed, Jul 30, 2008 at 10:25 AM, [EMAIL PROTECTED] wrote: i'm asking from a technical point of view, i suppose dealing with the current users and customers is the real issue, right? and tens of millions of lines of fortran that no one understands anymore Its not that we aren't promoting other paradigms, its just we also need to be able to support existing code bases. -eric
Re: [9fans] Plan 9 on Blue Gene
Hello, Just a dumb question, as i'm totally out of this business, it is easier to write an emulator than translate the applications to plan9 c ? (for example) or to write (or port) the C++ and Fortran compilers and related tools? i'm asking from a technical point of view, i suppose dealing with the current users and customers is the real issue, right? thanks gabi In the HPC world, there is lots of conservatism. There is an editor at LANL, named Fred, written in Fortran, that has been in use for longer than most of you have been alive. Until very recently, it was a required part of any HPC system. So, we're doing a binary compatibility module so we can run code compiled with the hot IBM compilers like XLC and XLF. ron
Re: [9fans] sad commentary
hello 256 MB of ram fills quite easily when using a fossil+venti and when trying new incarnations of upas/fs :), i can't even compile some ports of gnu things ☺. Fortunately this will change in august, as 9grid.es will have 1Gb of memory. about the unstability, i should disable swap partition to see if that fix something ☺ greetings, gabi PS: sorry for the off-topic non-sad comentary :P
Re: [9fans] store 9p session-only values using lib9p
hello at the moment i'm playing only with mbox not imap or pop, i have a version with cache per message that 'works', upas/nedmail and acme/mail are able to read messages 'nicely', but attachments are not decoded. also file lengths is going to be a problem if i'm going to decode files within the fs. i've put what i have in /n/sources/contrib/gabidiaz/wip/mboxfs about the From line, qmail man page about mbox format says it is composed of From space [EMAIL PROTECTED] space current date, and it is generated by the delivery agent, but moving one message from a box to another doesn't use the delivery agent :-? thanks, gabi
Re: [9fans] store 9p session-only values using lib9p
hello great news, i just used mbox to avoid reworking the whole thing at the same time, but you already done it. I was already aware of the mbox-pain. i'll be pleased to help on this, test, bug report, try it on a public server or whatever it's needed to finish this up. About the date in the From line, it is supposed that the From line is written when the mail is delivered, i mean, the action of saving the email on a file. If you write it in mbox, then no new From will be written when you move that message. I'm not sure i understand the problem here. thanks gabi
Re: [9fans] store 9p session-only values using lib9p
Hello I used your mail2fs to store my mail archives for a couple of months (and still use it ☺), but the main problem, which is parse attachments using upas/fs, is not solved. what erik has done is great, i would vote to have it finished soon ☺ slds. gabi
Re: [9fans] store 9p session-only values using lib9p
Hello iirc, mail2fs calls upas/fs then copy /mail/fs/box/files to build the new layout, but if you call upas/fs on a message with a 10mb attachment, upas/fs will load the whole thing in ram, mail2fs will write it to a file, then upas/fs will end it s operation. but the memory usage will be huge too when parsing. (9grid.es died due to this time ago, the poor thing only has 256mb of ram and it's running venti :) slds. gabi
Re: [9fans] store 9p session-only values using lib9p
Hello right, that's just one of the problems erik solved and i was still solving ☺, the memory usage of upas/fs. slds. gabi
Re: [9fans] store 9p session-only values using lib9p
hello hehe, i don't know why it is copied, probably because if you use mbox format you need the From line as a message delimeter, but if you're using other format, the From line could be avoided. As we are talking about email, may be it has a hidden meaning nobody remembers now ;). greetings, gabi
[9fans] store 9p session-only values using lib9p
Hello I've a 9p server implemented using lib9p which serves decoded files, for example, i have a base64 encoded file i want to read, but i want to decode it at the same time the client reads. Then i need to save two offsets, the one sent to the client corresponds to the decoded data, and i need other which correspond to the original data. (base64 is an example, rfc2047 codification is the main issue) If i save the offset adjustment in f-aux or simmilar, i can calculate the real file offset on the next T-reads, but that will only work if one client reads it at one time. could that value be saved for each session? i would love to hear from other's experiences, thanks, gabi
Re: [9fans] store 9p session-only values using lib9p
hello you're right, i will think a bit more about it. thank you very much, gabi