Closed Thread
Thread Tools
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#521
euphoric215: there should be no spontaneous rebooting of your tablet.

After downloading the image, your tablet should sit for about 15 minutes "unzipping" the image file, but this will make your tablet very sluggish. It shouldn't freeze it, nor cause it to reboot. Even weirder is the symptom of freezing and rebooting in the middle of the download.

I believe there's something more seriously wrong with your tablet.

First, make sure your tablet is running the latest version of OS2008.
Also, make sure you don't have the internal memory card corruption problem.

I don't know what else the problem might be...
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 

The Following User Says Thank You to qole For This Useful Post:
Posts: 2 | Thanked: 0 times | Joined on Feb 2009
#522
Thank you! I did have the corruption problem. In fact, my mccblk0p1 reading (1922972) was closer to my blk1 reading (1966080--still too big) than my blk0 (7862272--suspiciously close to the size of my external card, and quite close to the mccblk1p1). Anyway, I reformatted both cards.

At first, that seemed to work. I got over 50% of the download before it crashed. However, after that it started crashing every 5-10%. I got frustrated and re-flashed the device. I then downloaded the image on my XP desktop and copied it onto the external card via usb (faster, having now waited several hours in all for that download, lol), and this time the installer recognized it and successfully completed the process. Yay! Success!

I don't know what the problem was in the end, but everything works great now. Thanks for your help! And great work, btw!
 
Posts: 86 | Thanked: 362 times | Joined on Dec 2007 @ Paris / France
#523
Hello,

Thanks for this neat hack.

Anyway i've got a little problem : i can't run 2 instances of "debbie" at the same time. This prevents me from running the Debian HW keys with any debian application (because xbindkeys is killed when the application is launched)

Here is how to reproduce :
Code:
n810-ebe ~ > debbie   
Starting Debian shell...
No chroot dir specified; using /debian
No image file or partition specified.
Setting up the chroot...
using image file: /media/mmc1/debian-final.img.ext2
fs type is ext2
Using ext2 file system
mounting /media/mmc1/debian-final.img.ext2 on the turbo-loop ;)
.../media/mmc1/debian-final.img.ext2 mounted on loop0
.
..
...
....
Everything set up, running chroot...
[user@chroot: /]
In a second term window (while leaving the first one open) :
Code:
n810-ebe ~ > debbie 
Starting Debian shell...
No chroot dir specified; using /debian
No image file or partition specified.
chroot set up already!
/debian/var/lock/chroot-complete already mounted here! Unmounting...
Closing the chroot...
...Killing chroot apps...
..Unmounting bound dirs...
..Unmounting chroot..
..Unmounting turbo loop (0)...
device-mapper: remove ioctl failed: Device or resource busy
Command failed
chroot closed.
Setting up the chroot...
using image file: /media/mmc1/debian-final.img.ext2
fs type is ext2
Using ext2 file system
mounting /media/mmc1/debian-final.img.ext2 on the turbo-loop ;)
device-mapper: reload ioctl failed: Device or resource busy
Command failed
mount: mounting /dev/dm-1 on /debian failed
.../media/mmc1/debian-final.img.ext2 mounted on loop1
.
mount: mounting /dev on /debian/dev failed
mount: mounting /proc on /debian/proc failed
..
mount: mounting none on /debian/dev/pts failed
mount: mounting /tmp on /debian/tmp failed
mount: mounting /var/tmp on /debian/var/tmp failed
...
....
mount: mounting /home/user on /debian/home/user failed
mount: mounting /var/run/dbus on /debian/var/run/dbus failed
Everything set up, running chroot...
chroot: cannot execute su: No such file or directory
Second command fails and the first one is killed with a message "Session terminated, killing shell... ...killed."

And then i'm left in a inconsistent state (some directories mounted, some other not), and I get a file /debian/var/lock/chroot-complete in my root filesystem

To have the thing work again, i need to manually clean all the mess (umounting remaining directories, removing the loop device and cleaning /debian)

From a quick look at the ezchroot script : it shouldn't do the "/debian/var/lock/chroot-complete already mounted here! Unmounting..." thing, because image is the same, but i didn't look any further


I'm using Chinook & last easy* packages :
Code:
ii  easy-chroot                                    0.1.2                              Scripts to mount and chroot into images/partitions
ii  easy-deb-chroot                                0.9.14                             Scripts to run Debian applications easily in maemo
Any idea ? and sorry for long post

Thanks,
Eric
 

The Following User Says Thank You to eber42 For This Useful Post:
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#524
Thank you very much, eber42, for testing the new packages, and for posting such a detailed bug report.

You are correct, it should NOT unmount like that. That code was added to allow users to run a second image instead of the first image, but it is unmounting even when the image file is the same.

I will fix that bug ASAP (this evening) and post the fix.

As always, if you need a working version, the version in Extras should do the trick. But I would prefer you to keep beta testing...

UPDATE: It's a dumb bug. I wrote "echo /debian/var/lock/chroot-complete" instead of "cat /debian/var/lock/chroot-complete". You'll see a fix when I get home.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2009-02-16 at 20:50.
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#525
New versions in the qole.maemobox.org repository. I think these are the last beta-test versions; I'll probably put them into Extras later this week.

easy-chroot
- fixed the bug found by eber42

easy-deb-chroot
- replaced qole's bizarre one-line keyboard with pton's sane two line mini-keyboard
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 

The Following 3 Users Say Thank You to qole For This Useful Post:
Posts: 86 | Thanked: 362 times | Joined on Dec 2007 @ Paris / France
#526
Qole, Thanks for this quick fix,
It works nicely now.

But I think you had two different issues:
  • Detecting image change when it wasn't the case: this one is fixed
  • Leaving the device in an inconsistent state when changing image (i.e. calling closechroot from ezchroot): i've not checked this one because i've got only one image.
And don't worry, i'll continue to use beta version (stable software is boring )
 

The Following User Says Thank You to eber42 For This Useful Post:
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#527
Originally Posted by eber42 View Post
Qole, ... I think you had two different issues:
  • Detecting image change when it wasn't the case: this one is fixed
  • Leaving the device in an inconsistent state when changing image (i.e. calling closechroot from ezchroot): i've not checked this one because i've got only one image.
I think calling closechroot from within the script should be safe if you are going to mount a new image. However, if the closechroot fails, as it did in your case, it should cause the whole script to fail. It looks like the main problem in your case was that the closechroot command failed but it continued to try to mount the new image anyway.. That was somewhat disastrous...
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
pipeline's Avatar
Posts: 693 | Thanked: 502 times | Joined on Jul 2007
#528
Qole, i'm revisiting my isomount (ext2run) and was trying to figure out how to decouple the mount/chroot in your ezchroot.

Looking at your ezchroot it appears to use a lock file? But that lock file determines whether you should do both... mount and chroot. I dont see how to make it do only the chroot.

Im adding a new method for ext2 appliance which I'm calling ext2graft which allows calling script before and after chroot while image is still mounted. If your ezchroot script i want to use that for chroot but can't figure out how to prep the script.

Here's my script i'm trying to wedge it into... any ideas?
http://wardenclyffetower.com/MaemoFi.../ext2graft.txt

This script is not for most ext2 appliances, but for rare ones that need full control, but covers all the areas i need to handle (without knowing beforehand whether the appliance even needs a chroot).
 
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#529
pipeline: the "lock" file ($CHROOT/var/lock/chroot-complete) determines if the given partition/image has been mounted already on the given directory. If it is already mounted, it skips the mount and goes on to the chroot. If something else (another filesystem) is mounted there, the script calls "closechroot" to unmount/close the mounted fs, then it goes on to mount the given fs and then chroot into it.

(this was the part that was broken and eber42 found)

Would you like me to break this into two scripts, a mounting script and a chroot script? I would have the chroot script call the mounting script at the proper place. That might also give me some better control over error states... hmm...

The "lock" file would be used for the mounting stage, rather than the chroot stage, since it really can only be used to determine that something is mounted, not whether you are chrooted into that directory...

Also, please note that my most current scripts are in the easy-chroot package on my repository. Use those rather than the ones from the post attachment. I'll repost the scripts when I upload to Extras.
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!

Last edited by qole; 2009-02-18 at 01:32.
 
pipeline's Avatar
Posts: 693 | Thanked: 502 times | Joined on Jul 2007
#530
I believe i have the latest scripts which i got from your repo.

Hmm, this is tricky from a policy point of view. Ok so your lock flag/file determines whether the fs has been mounted+binds.

I guess i'm looking for the mount operation to be atomic (done by my script) and binds+chroot to be other operation done by ezchroot.

I don't want to be too intrusive so i'll just make a few suggestions/requests to clarify how this might be reworked/reworded. I'm not certain anyone other than myself would benefit so i have no problem manually chrooting using my old way if you dont want to support this level of control....

- Perhaps the lock file could be renamed to something like fixture-setup. Only because this reminds me of nunit/junit tests where you setup and teardown the fixture but in between you run many operations.... but the chroot is not part of the setup, its one of the operations.

- I'm thinking i want to ask if you can add parameterized flags to control mount/binds+performancetweaks/chroot operations independently. Could just be 1 1 1 or for my instance 0 1 1 and perhaps default to 1 1 1 if those params are not passed. Then if those flags are set you would use those instead of the flag file. I suppose the closechroot would have act the same way.

The downside is that the 'flag' is not preserved between invocations, so at that point you would be passing responsibility to the calling script to make sure that subsequent operations (on a single mount) keep the mounted fs in a proper state (avoiding re-symlinking on a single mount or mounting twice).

I could add this logic to my scripts (for my purpose), since I dont support simultaneous chroots on a single mount. I currently 'own' my mountpoints (created as part of deb install) which have a default file ext2mount.txt i can test for to see if mountpoint is 'free/available'.

Since i have backup solution, it might be best to let this sit for awhile until you get a handle on how other people want to use these scripts. But i have gained alot from this and earlier iterations of your chroot scripts so thanks to you and benson for working all this out so that i can use it for the myriad of permutations i intend to bend it to

Last edited by pipeline; 2009-02-18 at 02:42.
 
Closed Thread

Tags
debian, firefox, gimp, java, openoffice


 
Forum Jump


All times are GMT. The time now is 22:52.