OESF Portables Forum

General Forums => General Discussion => Topic started by: Mahoro on July 25, 2004, 02:42:20 am

Title: Multi parition on SD card
Post by: Mahoro on July 25, 2004, 02:42:20 am
http://www.zaurususergroup.com/modules.php...%2F%20SD%20card (http://www.zaurususergroup.com/modules.php?op=modload&name=phpWiki&file=index&pagename=Multiple%20partitions%20on%20a%20CF%20%2F%20SD%20card)
According to the website above, I had do it according to it said, but I am doing it on the SD card
first I umount mmcda1
then fidisk /deve/mmcda

Then after this and that, come to the save part and exit.....
However, I got a problem here,
well I format mmcda1
mkfs.msdos /dev/mmcda1

It have an error like: mkfs.dos: attempting to create a too large file system
And also when I format the 2nd parition to ext2..
It said the 2nd parition doesn't exist........

I bought this from my friend and he left his docking somewhere...and I don't got any CF card.......I can't syn my Zaurus to transfer data..
Title: Multi parition on SD card
Post by: lardman on July 25, 2004, 06:49:56 am
After you've used fdisk to create the partition table (and exited & saved it), use fdisk again to check that it has been written correctly.

Si
Title: Multi parition on SD card
Post by: Mahoro on July 25, 2004, 10:54:27 am
After try and try and try...about a week....
It finally works...hope I don't mess up w/ this SD card...
But the ext2 extension won't mount....
I set it as mmcda2 and mount at card2
But won't
Title: Multi parition on SD card
Post by: Mahoro on July 25, 2004, 11:22:05 am
I found out that I have problem with this part:
Quote
Finally, you want to ensure that both partitions get auto-mounted when you reboot your Zaurus or eject / re-insert the CF card. For that, you need to edit /etc/pcmcia/ide.opts. This is not the place to explain how the file works (it contains explanatory comments if you care). I'll just list what you should end up with, omitting comments for brevity:

    case "$ADDRESS" in
    *,*,*,1)
       DO_FSCK="y"
       DO_MOUNT="y"
       ;;
    *,*,*,2)
       DO_FSCK="y"
       DO_MOUNT="y"
       ;;
    *,*,*)
       PARTS="1 2"
       NO_CHECK=n
       NO_FUSER=n
       ;;
    esac

The easiest way to apply all these changes is to restart your Zaurus whichever way your ROM allows. That's that. Corrections are welcome.

I wonder if this is for CF only or both CF and SD since this tutorial seems only for CF although it stated CF/SD multi-parition
Title: Multi parition on SD card
Post by: lardman on July 26, 2004, 05:31:04 am
That is for CF only, there's another script you have to edit for the SD slot. Not sure what it's called off the top of my head.

Sorry,


Si
Title: Multi parition on SD card
Post by: Mahoro on July 26, 2004, 07:44:34 am
That's topic fooled me..
It said for CF/SD multi-parition.......and it end up only for CF....  

I found a link about multi-parition on SD
https://www.oesf.org/forums/inde...?showtopic=1519 (https://www.oesf.org/forums/index.php?showtopic=1519)
But beecause I am an ULTRA noob,
still don't get what they are saying.....
Don't know how to apply those sh script...
And also wonder what are libncrusis and those libraries and bash...

I used to be a double-click guy (Window user), and now is screwed by all those scripts and console thing.........
Title: Multi parition on SD card
Post by: lardman on July 26, 2004, 09:03:35 am
Ignore all of the stuff in there, it's (mostly) for a different purpose.

You've already worked out what to change in ide.opts (from the HowTo etc.), just make the same changes (and unmake them from ide.opts) to sdcontrol which controls the SD card rather than the CF card (which ide.opts does).


Si
Title: Multi parition on SD card
Post by: Mahoro on July 26, 2004, 10:45:15 am
But the code is like that......WAY different from ide.opts
I wonder how can I change it....
It is different format and I don't know where to begin w/


Code: [Select]
#!/bin/sh
#
# sdcontrol 1.0 2001/8/8 21:33:19 (Hideki Hayami)
#
# Initialize or shutdown a SD card device
#
# The first argument should be either 'insert' of 'eject'.
#

ACTION=$1
DEVICE=/dev/mmcda1
MOUNT_POINT=/mnt/card

###### for QPE ######
get_pid()
{
    echo $1
}

wait_release()
{
    count=1
    while true
    do
        umount $MOUNT_POINT
        if [ $? = 0 ]; then
            #echo umount >> /tmp/sd
            return
        fi
        echo count=$count >> /tmp/sd
        if [ `expr $count \>= 500` = 1 ]; then
            #echo time out >> /tmp/sd
            return
        fi
        count=`expr $count + 1`
        usleep 200000
    done
}

kill_task()
{
    #ps_line=`ps ax | grep -w 'qpe$'`
    #qpe_pid=`get_pid $ps_line`
    qpe_pid=`cat /var/run/opie.pid`
    #echo qpe_pid = $qpe_pid >> /tmp/sd
    target_pids=`fuser -m $DEVICE | cut -d : -f2`
    #echo $target_pids >> /tmp/sd
    if [ "$target_pids" = "" ]; then
        return
    fi
    is_exist_qpe=`echo $target_pids | grep $qpe_pid` # grep -w won't work
    if [ "$is_exist_qpe" = "" ]; then
    kill -9 $target_pids
        #echo kill -9 $target_pids >> /tmp/sd
    else
        #echo "found qpe!!!" >> /tmp/sd
    target_pids=`echo $target_pids | sed -e "s/$qpe_pid//"`
    if [ "$target_pids" != "" ]; then
            kill -9 $target_pids
            #echo kill -9 $target_pids >> /tmp/sd
        fi
        wait_release
        exit 0
    fi
}
###### for QPE ######


case "$ACTION" in
'insert')
    fsck  $MOUNT_POINT
    mount $MOUNT_POINT
    MOUNT_RES = `mount | grep $DEVICE`
    # If the mount via fstab fails, force it
    if [ "$MOUNT_RES" = "" ]; then
         mount $DEVICE $MOUNT_POINT
    fi
        #echo mount $? >> /tmp/sd
       ;;
'eject')
        fuser -s -m $DEVICE
        if [ $? = 1 ]; then
                umount $MOUNT_POINT
        fi
       ;;
'compeject')
        is_mount=`mount | grep $DEVICE`
        if [ "$is_mount" = "" ]; then
                exit 0
        fi
        kill_task       # for QPE
        #fuser -k -m $DEVICE > /dev/null
        umount $MOUNT_POINT
        if [ $? != 0 ]; then
                usleep 500000
                umount $MOUNT_POINT
                #echo umount $? >> /tmp/sd
        #else
        #        echo umount >> /tmp/sd
        fi
       ;;
'change')
        $0 compeject
        $0 insert
       ;;
'*')
        exit 1
       ;;
esac

exit 0

Might be I just a some line like:
Code: [Select]
ACTION=$1
DEVICE=/dev/mmcda1
MOUNT_POINT=/mnt/card
Also my 2nd parition is ext2 (where I want to mount as primary one) where program s are installed
while 1st parition is for storage (cross plaform for window and Zaurus)
Title: Multi parition on SD card
Post by: Mahoro on July 26, 2004, 10:46:38 am
I wonder if there is any program that for WIndow that can read/ write ext2
I tried parition Magic 8.02 (Cracked from supranova.org   )
But it won't works on card reader, only on harddisk..=_=