Help - Search - Members - Calendar
Full Version: Symlink /home To /mnt/ide2/home
OESF Forums > Distros, Development, and Model Specific Forums > Distro Support and Discussion > pdaXrom
climber
Hi,

I want to create the following symlink:

/home is a symlink of /mnt/ide2/home


What I did:

- copy the whole /home directory to /mnt/ide2/home
- Create symlink: ln -s /mnt/ide2/home/ /home


When I do a reboot I get the following error message:

Module dependencies: OK
mount: special device /hom/user does not exist

I think I did not all entries but I don't know where and which to do to fix this problem.

Can anybody help me?


Thanks
climber

SL-C3100 with pdaXrom beta3
Capn_Fish
Did you copy hidden stuff? I probably can't help, but I can weed out simple solutions for those who can.
Chero
Do you actually have a problem - apart from the error message ?

I thought this message came from the "one-partition-setup".
Correct me if I'm wrong.

Chero.
speculatrix
do the pdaXrom startup scripts act like those in sharp or cacko, which attempt to recreate the home directory if the /home/zaurus/Documents directory doesn't exist?

I tried moving /home/zaurus/Documents elsewhere and symlinking in, using cacko1.23 on my 3100 and the startup scripts tried to remove the symlink and fix things, but actually broke it completely!
Drake01
QUOTE(climber @ Mar 5 2007, 03:48 AM)
mount: special device /hom/user  does not exist

I think I did not all entries but I don't know where and which to do to fix this problem.

Can anybody help me?
*

I'm not an expert on Linux, but on my desktop and my Zaurus, /home is mounted. It's not just a simple directory; the system is actually mounting it. I don't believe you can simply symlink it. I think you'd have to find what is mounting it and change that script.

I would suggest changing /etc/fstab, but I've heard that this doesn't always work as one would expect in pdaXrom.
Meanie
as I have mentioned before in some other post, the best would be to bind the directory instead:


mount --bind /mnt/ide2/home /home
climber
Chero: No I have only the error message on booting but everything works after.

Meanie: That could be also a solution and maybe the better one! Where should I put in your code to bind it automatically?

Thanks
climber
climber
Meanie,

could you help me please because I tried so many things without success!

Where should I put in your code to bind it automatically?

Thanks
climber
daniel3000
QUOTE(climber @ Mar 9 2007, 01:26 PM)
Meanie,

could you help me please because I tried so many things without success!

Where should I put in your code to bind it automatically?

Thanks
climber
*


Hi Climber,

because I also did a similar thing recently, I can tell you:

Put this into a script called /etc/rc.d/init.d/mountbind:

CODE
#!/bin/sh
. /etc/rc.d/init.d/functions
COUNTER=0

case "$1" in
 start)
    while [ ! -d /mnt/ide2/home ]; do
 sleep 1
 COUNTER=$[$COUNTER+1]
 if [ $COUNTER -gt 45 ]; then
   echo /mnt/ide2/home does not become available!
   echo Cannot bind /home!
   echo Please try removing any CF cards and reboot.
   echo Or did /mnt/ide2/home get deleted or corrupted?
   action "Binding home from HDD:" mount --bind /mnt/ide2/home /home
   exit 1
 fi
    done
    action "Binding home from HDD:" mount --bind /mnt/ide2/home /home
;;
 stop)
;;
esac
exit 0


As you see, this uses the same looped detection mechanism as I suggested for your swap issue in z-portal.info. :-)
In fact, this is the problem what I used that for initially.

Once more for the OESF people:

Sometimes, the devices (SD or CD cards) don't get available quickly enough in order to let subsequent rc scripts use the devices.
For example, when there is a CF WLAN card inserted, the microdrive initialization is so slow, that a script liek the one above, albeit executed as the last script in the rc sequence, cannot access the microdrive.
Hence the need for that loop.
It checks each second if the directory (and hence the device) in question is available and only THEN runs the actual action.

Why two occurrecnces of the action? The purpose is that the user gets the red "FAILED" message in the timeout case.
Of course, one could leave away the "exit 1" instead and make te script even more elegant with an error state variable and conditional exit value at the end... :-)


Oh, and link this script to rcX.d (X=1..5) as "S60mountbind".
Otherwise it won't be executed ;-)
Also, be sure to make the script executable.

daniel
climber
Daniel,

thank you for your answer. It works very well !!! :-)

Regards
climber
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.