00:11.29 | *** join/#openzaurus ZonE-HaKin9|WorK (n=ZH_n_SB@port-212-202-49-90.dynamic.qsc.de) |
00:25.58 | *** join/#openzaurus Geo_KM (n=keith@bh02i525f01.au.ibm.com) |
00:36.31 | *** join/#openzaurus rabies (n=testing@unaffiliated/rabies) |
00:36.36 | rabies | how long does it take to install a package? |
00:36.58 | rabies | taking forever |
00:40.08 | *** join/#openzaurus aaronz (n=aaronz@pdpc/supporter/student/aaronz) |
00:40.36 | aaronz | when i use monotone to get the sources for openembedded, how long is this suppose to take? |
00:40.47 | aaronz | like more than 1 hour? |
00:40.50 | ljp | forever |
00:41.02 | aaronz | but it will eventually get it |
00:41.10 | aaronz | and the program will exit, correct? |
00:41.12 | ljp | you should |
00:41.42 | aaronz | why does it take so long (im not familiar with monotone) |
00:41.51 | rabies | its taking forever for me install a binary |
00:41.53 | rabies | a binary!! |
00:41.54 | ljp | dont know. |
00:44.02 | aaronz | should i just grab the snapshot instead? also, the docs dont mention how to 'update it', but just to do it |
00:49.13 | rabies | maybe i should install packages overnight... |
00:57.20 | *** join/#openzaurus ZonE-HaKin9 (n=ZH_n_SB@tor/session/x-355f91e8613d166b) |
00:58.16 | ZonE-HaKin9 | has any1 got epenembedded to work on OSX yet?? |
01:05.03 | *** join/#openzaurus popetodd (n=popetodd@static-151-204-225-194.bos.east.verizon.net) |
01:06.55 | popetodd | join #linux |
01:07.30 | popetodd | ? |
01:07.39 | popetodd | ##help |
01:07.56 | popetodd | damn |
01:08.02 | popetodd | forgot already |
01:09.40 | popetodd | got it |
01:24.07 | *** join/#openzaurus synth (n=cb@pcp0010680183pcs.venice01.fl.comcast.net) |
01:39.38 | *** join/#openzaurus Timelord (n=TL@66.84.189.72) |
01:58.43 | tanq | can you install qtopia on gpe? |
02:10.27 | ZonE-HaKin9 | don't think u can, gpe is x11 based?? |
02:11.00 | ZonE-HaKin9 | but u can install opie & gpe on the same system i did it a few weeks ago for my altboot rom rootfs |
02:24.29 | *** join/#openzaurus Biblio_peb__ (n=peb@p549BDB75.dip.t-dialin.net) |
02:32.36 | *** join/#openzaurus hufnus (n=slonsiki@mf83c36d0.tmodns.net) |
02:32.58 | *** join/#openzaurus meshuga (i=keith@silenceisdefeat.org) |
03:22.55 | *** join/#openzaurus Apple (n=appleboy@freematrix/dj/apple) |
03:22.59 | Apple | JustinP: you there? |
03:27.26 | JustinP | Apple: yes |
03:29.08 | *** join/#openzaurus synth (n=cb@pcp0010680183pcs.venice01.fl.comcast.net) |
03:29.10 | JustinP | Apple: yes? |
03:36.36 | JustinP | Apple: .....what's up with your connection? |
04:22.46 | ljp | you know apple seeds have arsenic in them? |
04:27.48 | *** join/#openzaurus mithro (n=tim@c213-100-42-188.swipnet.se) |
05:42.56 | *** join/#openzaurus Geo_KM (n=keith@bh02i525f01.au.ibm.com) |
05:45.08 | *** join/#openzaurus eumel (n=chatzill@p548328FD.dip0.t-ipconnect.de) |
07:13.01 | *** join/#openzaurus FallenHitokiri (n=TimoZimm@p54ACF2A1.dip.t-dialin.net) |
07:19.03 | *** join/#openzaurus FallenHitokiri (n=TimoZimm@p54ACF2A1.dip.t-dialin.net) |
07:58.15 | *** join/#openzaurus ZonE-HaKin9 (n=ZH_n_SB@cippola.gondor.de) |
08:00.20 | *** join/#openzaurus Timelord0 (n=TL@66.84.189.72) |
08:06.45 | CoreDump|home | morning |
09:22.08 | *** join/#openzaurus __law__ (n=law@mail.stiftadmont.at) |
09:25.29 | *** join/#openzaurus Shdwdrgn (i=Picard@sourpuss.net) |
10:03.38 | *** join/#openzaurus mrz80 (i=1000@caledonia.cns.ufl.edu) |
10:18.55 | *** join/#openzaurus LordVan (n=lordvan@gentoo/developer/LordVan) |
10:40.06 | XorA | yo tanq |
11:41.27 | *** join/#openzaurus zinga (n=arnaudb@186.80-203-227.nextgentel.com) |
11:56.21 | *** join/#openzaurus zinga_ (n=arnaudb@186.80-203-227.nextgentel.com) |
12:07.19 | *** join/#openzaurus kolla (i=kolla@firda.uninett.no) |
12:23.50 | *** join/#openzaurus baldurk (n=baldurk@user-13-193-151-83.e7even.com) |
12:28.43 | *** join/#openzaurus Timelord (n=TL@216.137.177.110) |
12:38.29 | *** join/#openzaurus Shdwdrgn (n=shdwdrgn@sourpuss.net) |
12:42.30 | Apple | JustinP|zZz: well, had some issues yesterday for about 5 minutes, probably because it was downloading shit |
12:42.43 | Apple | I'm recompiling everything in a chroot |
12:42.45 | Apple | halfway done |
14:09.45 | *** join/#openzaurus mrz80 (i=1000@caledonia.cns.ufl.edu) |
14:27.03 | *** join/#openzaurus Exis (n=Exis@oscnet249.osc.edu) |
14:27.24 | *** join/#openzaurus Exis (n=Exis@oscnet249.osc.edu) |
15:20.38 | *** join/#openzaurus kolla (i=kolla@firda.kolla.no) |
15:46.26 | *** part/#openzaurus _law_ (n=law@213.173.86.202) |
16:01.31 | *** join/#openzaurus _law_ (n=law@213.173.86.202) |
16:04.39 | *** join/#openzaurus Timelord0 (n=TL@216.137.177.110) |
16:11.28 | JustinP | Apple: Things seem to be ok now. |
16:52.17 | BCS | Right, how can I diagnose the fault with opie-console. |
16:59.57 | *** join/#openzaurus [cc]smart (n=smart@gw.ptr-62-65-149-158.customer.ch.netstream.com) |
17:18.57 | *** join/#openzaurus incinerator (n=incinera@82-41-24-164.cable.ubr04.edin.blueyonder.co.uk) |
17:19.02 | *** join/#openzaurus LordVan (n=lordvan@gentoo/developer/LordVan) |
17:29.23 | *** join/#openzaurus hufnus (n=slonsiki@m8c8b36d0.tmodns.net) |
18:16.35 | *** join/#openzaurus bipolar (n=bipolar@146.145.26.90) |
18:28.05 | *** join/#openzaurus slisk (n=slisk@adsl-67-121-203-137.dsl.sndg02.pacbell.net) |
18:29.51 | slisk | i tried to execute "pivot_root /media/card/debian-arm /media/card/debian-arm/mnt/oldroot" and got the error "Invalid argument". both directories exist and i'm root, what's wrong? |
18:50.38 | slisk | i tried the command again with invalid dirs and files, they gave different errors |
19:53.50 | *** join/#openzaurus Timelord (n=TL@216.137.177.110) |
19:56.19 | JustinP | slisk: I think your problem is that the second argument should be as if fromt he new root.... |
19:56.30 | JustinP | pivot_root /media/card/debian-arm /mnt/oldroot |
19:56.32 | JustinP | perhaps |
19:57.32 | slisk | tried, no good |
19:58.23 | slisk | say directory doesn't exist |
19:58.39 | slisk | and it doesn't on the original fs |
19:59.32 | slisk | i also tried cd /media/card/debian-arm ; pivot_root . mnt/oldroot |
19:59.38 | slisk | same problem |
20:04.06 | slisk | how do i create a kernel image that includes a binary module (that can't be compiled in), and that loads this b4 the the root fs? |
20:04.45 | slisk | if i could get the sharp_mmcsd_m.o modules to load then set the /dev/mmcda to root that'd really help |
20:07.19 | JustinP | slisk: well, this is precisely what altboot does.... |
20:07.32 | JustinP | slisk: I suggest you at least check out altboot (or rboot) for working examples |
20:07.40 | JustinP | altboot makes it very simple to pivot to SD |
20:09.45 | slisk | is it in the oz3.5.3 feed? |
20:10.05 | JustinP | nope |
20:10.10 | JustinP | it's on hentges.net, though |
20:10.31 | JustinP | Mr Hentges is the original dev of altboot (AKA CoreDump) |
20:10.39 | JustinP | I added some stuff a little while ago as well :-) |
20:10.58 | slisk | i made a custom script based upon unionroot which use the command as i do, no idea why mine doesn't work |
20:11.20 | JustinP | ::shrug:: |
20:11.46 | slisk | do i have to dl the whole rom or just the src to that? |
20:15.32 | Apple | JustinP: ! |
20:15.33 | Apple | hiya |
20:19.49 | JustinP | slisk: only the altboot ipk |
20:19.51 | JustinP | Apple: hi |
20:20.08 | *** join/#openzaurus mcgyveri (n=jepjep@85-156-28-156.elisa-mobile.fi) |
20:24.39 | Apple | how's it going? |
20:29.40 | *** join/#openzaurus _StarScream (n=am@81-178-240-82.dsl.pipex.com) |
20:33.56 | slisk | where do i dl the altboot ipk? i checked the website, but i can't find it |
20:36.03 | JustinP | Apple: going pretty well. I've gotten e17 nearly ready for the Z and am likely going to be pushing some patches upstream :-) |
20:36.58 | JustinP | slisk: good question...I thought it was up there |
20:37.53 | *** join/#openzaurus hufnus (n=slonsiki@m0f1f36d0.tmodns.net) |
20:44.30 | JustinP | slisk: I'll try to get an ipk for you quick... |
20:44.31 | *** part/#openzaurus mcgyveri (n=jepjep@85-156-28-156.elisa-mobile.fi) |
20:44.37 | slisk | thx |
20:44.46 | slisk | i lucked out and found that: Invalid argument = EINVAL = put_old is not underneath new_root |
20:44.56 | slisk | but this is not the case, wtf? |
20:44.57 | JustinP | ah, heh |
20:45.02 | JustinP | not sure |
20:45.11 | slisk | i'll still need that ipk if you can get it |
20:45.26 | JustinP | you can always view the altboot code as well. It's in the OE repository |
20:46.14 | slisk | how do i dl just the source? |
20:50.38 | JustinP | well you could use viewmtn to find them or just get the OE db and checkout a copy |
20:50.59 | JustinP | http://monotone.vanille.de/viewmtn/manifest.psp?id=25916dace5d51144e2d55018aaefdabb86f6b163& |
20:51.02 | JustinP | look for packages/altboot |
20:52.05 | *** join/#openzaurus ljp (n=lpotter@203.94.178.46) |
20:52.25 | Biblio_peb__ | Has anyone of you tried MONO on Zaurus, or is using MOno to write programs for the z? |
20:52.28 | JustinP | ok, I'm bitbaking altboot for collie...will take a few minutes at least as I cleared out my caches and such for collie |
20:53.06 | slisk | woot, thx |
20:54.10 | Apple | no wonder why my system started to slow down for a moment |
20:55.20 | JustinP | hehe |
20:55.28 | JustinP | Apple: is it a problem? |
20:57.05 | JustinP | slisk: yeah, going to take a few minutes...it's rebuilding the cross-compile tools and such (although it doesn't really need them for altboot..) |
20:57.20 | slisk | k, thx |
21:00.02 | Apple | JustinP: no |
21:00.10 | Apple | I've gotten used to it |
21:00.51 | Apple | it's when I'm using emerge and you're using that that it freaks out |
21:06.20 | JustinP | heh |
21:12.07 | Apple | anyway, done wih training, must do other stuff |
21:12.08 | Apple | bbl |
21:13.47 | slisk | OOOOOOOOOOOHHHHHHHHHHHHHHHHHHHH |
21:13.50 | slisk | figured it out |
21:14.03 | slisk | i had a device mounted at /media/card |
21:14.19 | slisk | i wanted to pivot_root with a directory inside that /media/card/debian-arm |
21:14.56 | slisk | apparently pivot_root requires not just a directory but a root dir of a device so that it can rearrange mounts |
21:15.28 | JustinP | slisk: well...yeah, pivot_root moves mounts around. You can't pivot to a directory which isn't the root of a dvice |
21:15.32 | slisk | i tried to pivot with a sub dir that couldn't be seperated from the parent directory |
21:15.36 | JustinP | heh |
21:15.52 | slisk | really need mroe descriptive error messages |
21:15.57 | JustinP | yeah |
21:16.03 | JustinP | but this is busybox, remember... |
21:16.14 | JustinP | it doesn't even have decent --help, so.... |
21:16.22 | JustinP | the *real* pivot_root may have better errors |
21:16.46 | slisk | no i tried the pivot_root in the debian-arm bootstrap, it gave the same error |
21:16.56 | JustinP | hmm? |
21:17.08 | JustinP | you sure that's not a vusybox pivot_root? |
21:17.12 | JustinP | busybox |
21:17.19 | slisk | it's a full blown minimal system, uses bash and everything |
21:17.39 | JustinP | I see...is this from OE? |
21:18.06 | slisk | no it's the deboostrap package, you can find it on packages.debian.org |
21:18.12 | JustinP | ok |
21:18.36 | slisk | it's made for chrooting though, so i copied the one off the installation cd, though it does the same thing |
21:18.40 | slisk | but you can boot into it |
21:19.05 | slisk | it just doesn't have a kernel, runlevels and inittab, and user info |
21:19.43 | slisk | i imagine that you can modify the script debootstrap uses to automatically configure everything for a fully bootable environment |
21:20.29 | slisk | i'd like to load the mmc module with the kernel and set the root to /dev/mmcda... |
21:20.33 | slisk | ...do you know how to do that? |
21:21.46 | JustinP | umm...just do what you said |
21:21.58 | JustinP | modprobe (sd module) |
21:22.09 | JustinP | mount -t ext2 /dev/mmcda1 /media/card |
21:22.22 | JustinP | pivot_root /media/card /media/card/mnt/realroot |
21:22.36 | JustinP | altboot can do this for you BTW |
21:24.14 | JustinP | http://dioxide.randomvoids.com/~papercrane/feed.collie/altboot_1.0-r8_collie.ipk |
21:29.26 | slisk | i just finished making an init script myself after figuring that out, though i still appreciate the altboot ipk for reference |
21:42.41 | *** join/#openzaurus buffer (n=buffer@wnstmnhed01-lo0-pool0-a14.wnstmn.tds.net) |
21:42.54 | buffer | Anyone installed a linksys wcf12 on a 5500 |
21:44.33 | _StarScream | buffer: yeh i have..it detected it..but I couldn't get it working though apparently it does... |
21:49.32 | buffer | yea? |
21:49.34 | buffer | that sucks |
21:49.36 | buffer | I can't get it to go |
21:49.41 | buffer | everybody else says it's so easy. |
21:50.09 | _StarScream | buffer: i have trouble getting my 5500 updated anyway...:) i just suck |
21:50.16 | buffer | heheh |
21:50.18 | buffer | I got it updated |
21:50.22 | _StarScream | hrw or CoreDump|home will be of most help |
21:50.26 | buffer | I just can't get the fricken card to work |
22:02.50 | *** part/#openzaurus CoreDump|home (N=mhentges@hentges.net) |
22:02.50 | *** join/#openzaurus CoreDump|home (N=mhentges@hentges.net) |
22:03.27 | CoreDump|home | buffer: is the driver auto-loading? does iwconfig show the wlan0 device? |
22:05.41 | buffer | hold on |
22:10.25 | buffer | okay.. |
22:10.27 | buffer | it works now |
22:10.29 | buffer | don't know why |
22:10.31 | buffer | or what I did |
22:10.33 | buffer | or what was done |
22:10.34 | buffer | but it works |
22:12.09 | CoreDump|home | ok :) |
22:13.37 | buffer | thanks though :) |
22:15.17 | slisk | ok this is really wierd... |
22:15.57 | slisk | i pvirot_root into another (valid) environment and suddenly everything int he new env and the old can't be executed |
22:16.06 | slisk | err pivot_root |
22:16.34 | slisk | i get "--sh: [file]: not found |
22:16.40 | slisk | --sh: [file]: not found |
22:17.58 | slisk | the only think that still works is the cd command |
22:18.21 | slisk | what else is hard coded into busybox? |
22:18.42 | slisk | and by that i mean, what commands can be used without symlinks |
22:19.41 | kolla | is there working unionfs for the collie-kernel? |
22:19.56 | JustinP | there is no working unionfs for anything |
22:20.12 | kolla | ok, fair enough :) |
22:20.14 | JustinP | slisk: if you're pivoting from busybox to non-busybox that could be the "problem".... |
22:21.35 | slisk | kolla: i'm alraedy using unionfs, seems to work fine, though once you add a device to a union that is the rootfs it becomes busy can you can't dismount |
22:21.49 | slisk | though not with the pivot'ing stuff |
22:22.00 | CoreDump|home | slisk: _everything_ is hardcoded into busybox and can be used w/o symlinks. Just use "busybox $appname" instead |
22:22.40 | kolla | slisk: ok |
22:23.19 | kolla | slisk: what I'd like is readonly internal flash with readwrite SD ontop :) |
22:24.00 | slisk | the other rootfs i ultimately want to get into isn't ont he root of the device so paths don't line up. i tried typing out the entire path thorught he dir the oldroot was pivoted to, but i get "--sh ./mnt/oldroot/bin/busybox: no found" |
22:24.20 | slisk | kolla: yeah that's what unionroot does |
22:24.29 | slisk | kinda... |
22:24.34 | kolla | yes, I've been playing with it on the PC tonight.. |
22:24.49 | kolla | but I goot way to many odd situations :) |
22:25.19 | slisk | kolla: you either need to manually use unionctl to --add the device tot he union, put in a boot script, or (my choice) put it into /etc/sdcontrol |
22:25.20 | buffer | anyone know some package servers? |
22:25.34 | kolla | ideally it should be possible to just insert/remove memory cards on the fly and have them merged ontop of the internal flash on / |
22:26.05 | kolla | slisk: right, the latter is more what I'm looking for |
22:26.12 | slisk | kolla: the problem with that is, how should it behave with open files on the removable card? |
22:26.32 | kolla | yeah, well.. that's a fundamental flaw (IMO) in how unix works |
22:26.34 | slisk | kolla: i'll send you my sdcontrol script through irc |
22:26.58 | kolla | no need to |
22:27.19 | kolla | I have too much other things to do first before playing with the zaurus again :) |
22:27.27 | kolla | was just curios on the status |
22:27.27 | slisk | kolla: nah it's a conceptual problem, if you're running a program off the device, what should it do? what if that program is ciritcal to the OS's execution or the device's dismount? |
22:28.00 | kolla | well, it should behave and dont just die or get killed :) |
22:28.05 | kolla | and not.. |
22:28.24 | slisk | send it |
22:28.37 | kolla | "insert cdevice blurb (continue|abort)" |
22:28.39 | JustinP | kolla: "I want to be able to remove my hard drive and still have my OS running". That's not going to happen... |
22:28.53 | slisk | exactly what i'm getting at |
22:29.09 | kolla | JustinP: yes, exactly |
22:29.15 | slisk | there's a lot of gray area between completely removable and total panic |
22:29.24 | ljp | youd be amazed at how far rm -rf / gets :) |
22:29.55 | kolla | JustinP: hence IMO linux is wrong type of OS for many ..embedded (read mobile) devices |
22:30.02 | slisk | ljp: well technically rm doesn't destroy a file just erase's the reference to it in the fs |
22:30.26 | ljp | still, the system cant used it |
22:30.39 | JustinP | ljp: no, it can as long as it's open |
22:30.48 | kolla | when I used my Z as a pda and people wanted to look at it... how often didnt they just click out the SD.. sigh.. |
22:30.55 | JustinP | ljp: if a file is open and you "rm" it then the file is still open and accessible |
22:31.00 | kolla | with a 50% chance of stall/crash.. :) |
22:31.22 | JustinP | kolla: well...that's your problem for asking them not to...or taping over the SD card |
22:31.46 | JustinP | kolla: if you have your root FS on a SD card you just can't eject it and still expect things to run. Period. |
22:31.57 | kolla | JustinP: 10 years ago we had OSes that did this just fine :) |
22:31.57 | slisk | kolla: the problem is the concept of putting critical files on the remoable device. even if there were a confirmation it wouldnt' really be continue or abort, it'd be crash or don't crash |
22:32.22 | kolla | JustinP: why not, everything that is running is located in memory and not on disk :) |
22:32.42 | JustinP | kolla: yeah, load all 10K of it into RAM and you're fine. No, not going to happen today. There's *way* too much that's running and needs files from the FS. |
22:33.02 | kolla | yes |
22:33.23 | JustinP | kolla: the point is that everything today (normally) is dynamically loaded, so the system doesn't load the file/lib until it needs it |
22:33.29 | JustinP | and when it's gone you're SOL |
22:33.33 | slisk | kolla: technically you can physically remove the card and it'll still run, but there's also things like sockets and such that actively use the fs |
22:33.43 | JustinP | that as well, yeah |
22:33.46 | kolla | yes sure |
22:34.02 | JustinP | kolla: which is why Sharp ran the root from the Flash and let you "install" to SD. |
22:34.02 | kolla | I know all that, my point is simply that this sucks :) |
22:34.15 | JustinP | this won't crash your OS but programs running off it will crash still |
22:34.34 | JustinP | kolla: what do you propose? load all storage into RAM as soon as it's inserted? |
22:35.14 | kolla | I dont propose anything, with linux it's a lost case |
22:35.25 | ljp | JustinP: accessible only to that process |
22:35.26 | kolla | it simply wont happen anyways, so why bother proposing anything |
22:35.53 | slisk | kolla: i think it's a design flaw in unionfs, i don't think it checks for the consequences of removing a device to determine if it's possible, just an absolutel check if something (namely a direction) is open |
22:35.54 | kolla | I'm just saying that these are the exact issues why, IMHO, that linux isnt suited |
22:36.06 | slisk | kolla: even if the target device's portion of the union is empty |
22:37.07 | slisk | kolla: linux, like most OS's are designed around the expectation that the user interact with the system, as opposed to the system simply submitting to everything |
22:37.36 | slisk | kolla: without that expectation, the system has to load thigns into memory, backup everything and prepare for all contingencies |
22:37.57 | kolla | I wont go into this :) |
22:37.57 | slisk | kolla: on an embedded device that consumes a relatively large amount of resources |
22:38.14 | slisk | kolla: you can tailor linux to act as you want it to |
22:38.23 | slisk | kolla: it's just not like that by default is all |
22:38.54 | slisk | kolla: also the programs your runnign aren't designed to run entirely in memory |
22:38.56 | slisk | oh i got it |
22:39.09 | slisk | just load everything in ramdisk |
22:39.18 | slisk | problem solved |
22:39.19 | kolla | todays embedded devices have a tenfold more resources both in terms of memory and CPU power than computers we had 10-15 years ago that were perfectly usable back then - systems that for most part relied on floppy jocking |
22:39.36 | kolla | and had no problem dealing with vanishing filesystems |
22:40.16 | slisk | that's cuase everything loaded into memory, and there are linux distros like that today that even have gui's |
22:40.24 | kolla | yes |
22:40.31 | slisk | the OZ distro does not load everything into memory though |
22:40.43 | slisk | you coudl tell it to, and it'd work as you like it too |
22:40.49 | slisk | it's just not like that by default |
22:44.10 | kolla | you dont have to load everything into memory, you just have to be more aware on how you use the filsystem and not keep files open all over, and last but not least - have methods to communicate with the user to tell thep person to reinsert missing filsystem or abort |
22:44.41 | kolla | but again - not going to happen on linux |
22:44.47 | kolla | so the discussion is moot |
22:44.56 | slisk | lol, what amkes you say it's not goign to happen? |
22:45.11 | kolla | all developers I have ever met |
22:45.17 | kolla | really, the lot |
22:46.20 | kolla | they point me to how bad MSDOS was and make smirk remarks if I bother to mention some certain other system that did this fine |
22:46.27 | kolla | so I wont bother |
22:47.12 | slisk | i can understand why the wouldn't want to do that though, your method would require halting parts of the system entirely |
22:47.43 | slisk | in a console only environment that's fine, but with services serving other services, that can cause a lot of problems |
22:47.51 | kolla | correct |
22:48.09 | slisk | every program would have to be made in conjunction with every other program |
22:48.27 | kolla | such systems need graphical interface in the core of the OS as well |
22:48.28 | slisk | that's not going to happen period for a generalized OS, that's a LOT of programs |
22:48.44 | slisk | also transparency is an issue |
22:48.52 | kolla | yes, you are quite correct :) |
22:49.18 | slisk | the typical programming methodology is that each layer of a system shouldnt' require knowledge beyond it's immediate interfaces |
22:49.22 | kolla | very strict programming regime, strict apis, no fancy "smart" tricks.. :) |
22:50.08 | kolla | and never bother with compatibility :) |
22:50.30 | kolla | posix capability would have to be offered inside a sandbox so to speak |
22:51.01 | kolla | if at all |
22:51.04 | slisk | a particularly strict programming methodlogy could allow for generalized programming... |
22:51.33 | slisk | wait no... |
22:52.06 | slisk | ...say programs A and B are built to this specification, they would be downwards compatible with the layers below theirselves, but what about across? |
22:52.36 | kolla | you mean IPC? |
22:52.37 | slisk | of A interfaces with a timeout to B, but B freezes cause a fs is gone... |
22:53.29 | slisk | i supposed A could check the program status of B b4 interfacing... |
22:53.43 | kolla | the programs should not even have to know about the filesystem, they should ask the kernel/OS for such resources |
22:54.48 | kolla | programs should not check oneanother, they should themselves only have to deal with the OS/kernel |
22:55.10 | slisk | lower layers would have the ability to force compliance upon higher layers, that's a given, but what lateral interfacing? which multiple programs have no authority of each other? |
22:55.25 | slisk | but what about tiem sensitive application? |
22:55.43 | slisk | operating with hardware and the real world for example |
22:56.15 | kolla | you mean device drivers? |
22:56.23 | slisk | what about a game that expects the server to respond within a certain amount of time? |
22:56.47 | slisk | or another program on the same system operating through sockets? |
22:58.03 | kolla | if you design a game for a system and have wrong expectations on how it works.. then perhaps a deeper study of the system is in order :) |
22:58.36 | JustinP | slisk: if the person running the server pulls the FS that's their problem... |
22:58.53 | kolla | for time sensitivity.. linux is one of the systems where I dont expect anything to happen on time |
22:59.21 | slisk | i'm with you justinp, i think remove an fs that host critical files is a user flaw...but it's entertaining to explore this |
22:59.46 | slisk | there are real time kernels and patches, let's assume we have one of those |
23:00.05 | kolla | what ever for :) |
23:01.04 | slisk | if a program is not expected to be responsible for the fs, then what about after a fs is removed and it seeks another file off it? how would the kernel know which fs the was from if it was never sought b4? |
23:01.52 | slisk | even worse, the file could later be overwritten by another fs being unionized |
23:02.00 | kolla | "file not found error"? |
23:02.02 | kolla | or - |
23:02.32 | kolla | if the program asking for it uses a label/alias/assign in its path, something that the user will know what is |
23:03.02 | kolla | "program XYZ is looking for blurb:path/blabla - please insert blurb:" |
23:03.19 | kolla | (ok | cancel) |
23:03.46 | kolla | you know.. use those filesystem labels for something usable :) |
23:04.00 | kolla | s/usable/usefull/ |
23:04.05 | slisk | but what if the the fs the program comes from and the file it's looking for come from different fs? we're still talking about unions right? a file could exist on a different medium entirely |
23:04.24 | kolla | sure.. |
23:04.41 | slisk | how would the kernel know which medium to request? |
23:04.49 | kolla | well, the relevance to unionfs here is limited |
23:05.22 | slisk | well the idea of a unionfs |
23:05.32 | kolla | "insert blurb:" makes program A happy and it moves on..remove blurb: and insert blarb: and program B will be happy |
23:06.06 | kolla | in worst case you'd have to either "get another floppy drive", or do some jockeying |
23:07.34 | JustinP | of course those also were not multitasking systems. You'd be swapping in and out all the time with a normal system now |
23:07.39 | kolla | there are alsoways to do such things without involving unionfs |
23:07.47 | kolla | JustinP: sure they were |
23:07.55 | kolla | preemptive multiasking systems |
23:07.57 | slisk | what if the sought file fullfils the requirements for a files type/structure and passes program sanity checks, but the files performs differently that expect? e.g. 2 scripts that do different things both still quality as scripts |
23:08.36 | kolla | slisk: that's will be a problem just like it is on any system |
23:08.54 | slisk | well actually all these issues aren't limited to union fs, they apply to any system when a fs can be modified without the systems' supervision |
23:09.02 | kolla | yes |
23:09.17 | kolla | if you want to fix that, get openvms |
23:09.32 | slisk | so what do you actually do with the fs you remove if you shouldn't modify it b4 reinserting it? |
23:09.45 | kolla | then you wont be able to run a single command untill you and the program are clarified :) |
23:10.18 | kolla | ofcourse you can modify it |
23:10.23 | kolla | unlike on old macs |
23:11.10 | kolla | you can copy in new files on it.. change files.. |
23:11.52 | kolla | on a different machine, copy in pics from camera or whatever |
23:12.50 | slisk | what if the program's operation depends upon the existence of certain files, not just their utility? to the program, wouldn't a fs being removed equate to nonexistence? |
23:13.29 | slisk | say a package manager determine's dependecies based upon the existence of certain files that are named by their installed packages |
23:13.52 | slisk | if you remove the fs hosting those files, how is the program to know whther they were removed or never existed? |
23:14.35 | slisk | also, just how many fs can exist on the removed fs and still allow their names and directory structures to be cached? |
23:14.37 | kolla | why would it have to? |
23:15.08 | slisk | if it thought the files never existsed, it could incorrect fail all dependencies and nothign could be installed |
23:15.08 | kolla | that's a memory issue :) |
23:15.26 | kolla | yes, that's quite ok |
23:15.39 | kolla | "cannot find file blabla" |
23:16.12 | slisk | but still, the kernel would need to cache the structure of removed all removed fs in order to request their reinsertion right? what's the limit upon this? |
23:16.50 | slisk | just how big a fs can you remove and reinsert? what happens when the limit is reached, just clear the cache? |
23:16.54 | kolla | but if the program knows that these certain files usually exists on a given volume, then it can ask for that - if the user know those files are elsewhere in the system, he/she'd typically have an assign to that location |
23:17.19 | kolla | think of assign as a symlink with many destinations... unionsymlink |
23:17.23 | slisk | WHOOOA "usually" that gets into heuristics and statistics, let's not go there |
23:18.00 | kolla | my amiga A600 at work has a 150GB USB disk with 18 partitions, and that works :) |
23:18.47 | slisk | and you can remove the disk and it can still request files not already opened and know to ask for the usb disk? |
23:18.54 | slisk | or do you just mean it keeps running? |
23:18.57 | kolla | I unplug it, and some program will occationally ask for one of the partitions, I can then plug it back in or if I have copied over that file elsewhere fix a temporary assign |
23:19.05 | kolla | yes |
23:20.22 | slisk | well just asking for a disk label is simple, every program can be associated with the label it comes from, and upon a file not found error simply requrest that partition. but what about a union fs where any file can come from anywhere, or an fs not yet associated with the program? |
23:20.41 | kolla | for instance the libary path might be pointing to it, and it if hasnt found a library on the ...uhm.. earlier locations, it will ask for the missing parition |
23:21.30 | slisk | wait, if you use an automounter to mount devices on demand, it could easily be programed to make such requests |
23:22.01 | slisk | halt or send to sleep the requesting progarm until it is able to load the the desired device |
23:22.48 | kolla | on amiga you can do things like.. "assign blurb: sys:path/blarb df0:blirb usb0:blorb" |
23:23.13 | slisk | i know the open command locks until the file operation is resolved, if the automounter could simply never time out the device mounting request and post a simple message, that's what you're looking for |
23:23.47 | kolla | if a program looks for blurb:file, the system will look for sys:path/blarb/file, then move onto looking into whatever floppy is in df0: and blirb directory, and then usb0: disk, blorb directory |
23:24.06 | kolla | if file is found in sys:blarb, it wont ask for the others if they are missing |
23:25.12 | slisk | i think what you're asking can be implemented within automounter. it's actually pretty simple, just insert a function into the "mount timeout" block to ask the user to insert the device and retry the action is retry is replied |
23:25.39 | slisk | s/is retry/if retry/ |
23:26.11 | slisk | you should search the net for automount, there may already be a patch |
23:26.15 | kolla | yes, it should be possible |
23:26.48 | slisk | hell check the man page there might be an option (doubt it though) |
23:27.03 | slisk | there's also multiple automounters out there, another may do what you ask |
23:27.56 | kolla | but it wont help if someone removes a filesystem while it is in use |
23:28.18 | kolla | when it is open |
23:28.20 | slisk | though the requestion program would need to differentiate between a "must open" attempt and a "try to open" attempt. since a fiel may have never existsed |
23:29.05 | kolla | ah well.. I need to get some sleep :) |
23:29.44 | slisk | i don't know how linux handles files once their open, but i'm sure it you could tell it to reopen the file and seek the previous location if it's gone without closing |
23:30.17 | kolla | yes, that should definetly be possible |
23:30.58 | slisk | you should search the net for patches/programs that do what you're asking. i don't know what keywords to use to narrow it down, but you could try lookign for pages associated with the amiga system you mentioned |
23:31.06 | kolla | the typcal solution so far has been to kill the program in order to unount :P |
23:31.33 | kolla | which in my experince often has meant bringing down opie in one way or other |
23:32.45 | slisk | i think with the explosion of storage space, developers have abandoned such considerations on the expectation that the desired medium wuodl always be available for critical files, and the removable files wouldnt' be stored seperately |
23:32.55 | slisk | you shuold looking into nfs as well |
23:33.11 | slisk | that's an obvious medium in which the fs cuold disappear at any moment |
23:33.35 | slisk | it may behave as you'd like it to |
23:33.57 | slisk | if so you could implement any removable medium as a nfs volume |
23:35.46 | slisk | One interesting thing about NFS is its statelessness. You can reboot a server and the client won't crash. It won't be able to access files on the server's export while the server is down, but once it returns, you'll pick up right where things left off. Other network file sharing systems are not so resilient. |
23:36.14 | kolla | yes |
23:36.43 | kolla | I'm having problems with KDE and NFS at the moment, pretty weird :) |
23:37.14 | kolla | with $HOME on NFS, all program menues, kcontrol etc are.. like.. empty :) |
23:37.55 | slisk | found it |
23:37.58 | slisk | Then we want to make the mount interruptible. This means that if the server goes away, for any reason, client programs that are trying to access the export can be interrupted. Otherwise, the client will continue trying to access the export until the filesystem times out. Set this with the intr option. |
23:38.05 | kolla | this happened just a few weeks ago, but if it was new KDE version or something else I dont know.. but I can still start programs manually, so it's ok :) |
23:38.27 | slisk | i think that's how you had it setup kolla |
23:38.56 | kolla | yes, and that timeout can be _really_ annoying if you for some reason want to.. say.. reboot the client machine :) |
23:39.20 | slisk | just use the intr option, problem solved |
23:39.32 | kolla | aha |
23:39.38 | slisk | read and write locks until the volume is available again |
23:40.12 | slisk | just imagine if you combined this with unionfs... |
23:40.19 | slisk | i wonder how it would perform... |
23:40.49 | kolla | heh, I already had intr |
23:41.00 | kolla | must have read that man page at some point :) |
23:41.12 | kolla | yes |
23:41.16 | slisk | i'm no nfs expert, you'll have to get help on that elsewhere |
23:41.35 | kolla | did I mention that I tried to use unionfs on homedir on nfs + homedir on machine? |
23:42.01 | slisk | what happened? |
23:42.21 | kolla | got some very nice kernel oops and segfaults when I tried ls on the unionfs :) |
23:42.37 | kolla | and it didnt manage to umount.. busy :) |
23:42.47 | kolla | so I did a sync followed by reboot -n -f |
23:43.14 | slisk | well unionfs is fairly immature, if you tried to used nfs traditional after configuring it, i'm sure it'd perform better |
23:43.27 | hardwire | I use unionfs on debian :) |
23:43.29 | hardwire | for / |
23:43.30 | hardwire | :) |
23:43.35 | hardwire | it makes life fun |
23:43.35 | kolla | cool :) |
23:44.45 | kolla | guess my attempt was doomed, nfs+ext3, nfs via autofs :) |
23:44.54 | slisk | i think the problem with unionfs branches always beign busy are subdirectories and files being held open either on another branch in the same location or in another dir which some parent dirs in common |
23:46.08 | slisk | i imagine removing directories or files in unionfs must create some difficult problems for the devs to solve withou major overhauls |
23:46.35 | kolla | yeah, I think so too |
23:46.57 | slisk | it all sounds similar to work with binary trees where you're operating on leaf nodes, trying to generalize onto parent branches |
23:47.53 | slisk | only you've got multiple trees... |