Poll: N900 - Harddrive is in Read Only Mode
Poll Options
N900 - Harddrive is in Read Only Mode

Reply
Thread Tools
Posts: 1,424 | Thanked: 2,623 times | Joined on Jan 2011 @ Touring
#61
There is a way to format MyDocs from the file manager?
I am not familiar with many GUI components as it is easier for me to ssh in and use normal linux commands.
This is one reason why I am loathe to upgrade to some locked down Android with sketchy spyware apps.
 
pichlo's Avatar
Posts: 6,447 | Thanked: 20,981 times | Joined on Sep 2012 @ UK
#62
Originally Posted by biketool View Post
There is a way to format MyDocs from the file manager?
Long tap on the drive icon in File Manager will pop up a context menu offering "Details" and "Format".
 

The Following User Says Thank You to pichlo For This Useful Post:
Posts: 2,102 | Thanked: 1,937 times | Joined on Sep 2008 @ Berlin, Germany
#63
Your options for mount are screwed
/dev/mmcblk0p1 on /home/user/MyDocs type vfat (0)
This only lets root handle files and folders. The correct options are like
Code:
/dev/mmcblk0p1 on /home/user/MyDocs type vfat (rw,noauto,nodev,exec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0000,rodir)
 

The Following 2 Users Say Thank You to michaaa62 For This Useful Post:
Posts: 1,424 | Thanked: 2,623 times | Joined on Jan 2011 @ Touring
#64
Just formatted the MyDocs dir, but still having the permissions issue.

this is /etc/fstab again it has been a while but it looks fine to me and matches the /etc/fstab in my good N900, do I need to futz with the generating script to add uid/gid??

Code:
# This file was generated by script /etc/event.d/rcS-late
# !!! Do not edit this file. It will be overwritten in next device startup !!!
# If you want static /etc/fstab add genfstab="0" to file /etc/default/mount-opts
rootfs / rootfs rw 0 0
ubi0:rootfs / ubifs rw,bulk_read,no_chk_data_crc 0 0
/dev/mmcblk0p2 /home ext3 defaults 0 2
/home/opt /opt none bind 0 0
/dev/mmcblk0p1 /home/user/MyDocs vfat defaults 0 2
/dev/mmcblk0p3 none swap sw 0 0
and this is the result of mount, see the (rw) so I dont know.....
Code:
/dev/mmcblk0p1 on /home/user/MyDocs type vfat (rw)

Last edited by biketool; 2013-07-13 at 18:13.
 
Posts: 1,424 | Thanked: 2,623 times | Joined on Jan 2011 @ Touring
#65
Just looked inside the 'formatted' mydocs, everythig is still there, sudo fdisk and mkfs.vfat is next! and that worked perfectly as a format but failed to make the directory writable...
I was mistaken the stuff I saw in MyDocs was was just the video clips, audio clips, documents, etc auto-added by the N900.
So WTF!? it was formatted, mounts rw, but still cant write as a user??

Last edited by biketool; 2013-07-13 at 18:32.
 
peterleinchen's Avatar
Posts: 4,118 | Thanked: 8,901 times | Joined on Aug 2010 @ Ruhrgebiet, Germany
#66
As micha said, your mount options in /etc/fstab are screwed.
Correct entry in fstab has to be:
Code:
/dev/mmcblk0p1 /home/user/MyDocs vfat noauto,nodev,noexec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir 0 0
__________________
SIM-Switcher, automated SIM switching with a Double (Dual) SIM adapter
--
Thank you all for voting me into the Community Council 2014-2016!

Please consider your membership / supporting Maemo e.V. and help to spread this by following/copying this link to your TMO signature:
[MC eV] Maemo Community eV membership application, http://talk.maemo.org/showthread.php?t=94257

editsignature, http://talk.maemo.org/profile.php?do=editsignature
 

The Following 2 Users Say Thank You to peterleinchen For This Useful Post:
Posts: 1,424 | Thanked: 2,623 times | Joined on Jan 2011 @ Touring
#67
Thanks michaaa62 and peterleinchen I hadnt hit update form yesterday I guess.
This is the contents of /etc/event.d/rcS-late which generates /etc/fstab I want guidance so I dont hose it and brick my N900 as I cant reflash(broken USB)

Code:
description "late rcS actions"

start on started hal
stop on stopping hal

console none

script
    #mount /home; fix filesystem and retry mounting if 1st attempt fails
    mount_home ()
    {
    if ! grep -q -E '^\s*[^\s]+\s+/home\s' /etc/fstab; then
      # /home is not in fstab so is part of rootfs and already mounted
      return 0
    fi
    if [ "$home_fsck" != "0" ]; then
      echo "`date +'%Y-%m-%d %H:%M:%S'`  fsck -a /home" >> /var/log/fsck_home.log
      fsck -a /home >> /var/log/fsck_home.log 2>&1 || true
      echo "" >> /var/log/fsck_home.log
    fi
    /bin/mount /home && grep -q '^[^\ ]* /home [^\ ]* [^\ ]*rw.*' /proc/mounts
    if [ $? -eq 0 ]
    then
      return 0
    else
      grep -q '^[^\ ]* /home [^\ ]* [^\ ]*ro.*' /proc/mounts
      if [ $? -eq 0 ]
      then
        umount /home
      fi
      echo "`date +'%Y-%m-%d %H:%M:%S'`  fsck -y /home" >> /var/log/fsck_home.log
      fsck -y /home >> /var/log/fsck_home.log 2>&1 || true
      echo "" >> /var/log/fsck_home.log
      sync
      /bin/mount /home && grep -q '^[^\ ]* /home [^\ ]* [^\ ]*rw.*' /proc/mounts
      return $?
    fi
    }

    ACT_DEAD=0
    HOME_MOUNTED=0

    #check act_dead
    if [ -e /tmp/ACT_DEAD ]; then
      ACT_DEAD=1
    fi

    # Load fstab and mount options
    . /etc/default/mount-opts || true

    if [ ! -e /etc/fstab ] || [ "$genfstab" != "0" ]; then

      fstab=/etc/fstab
      tmp_fstab=/tmp/fstab

      # Find internal eMMC device, fallback to mmcblk0
      for emmc in mmcblk1 mmcblk0; do
        if [ ! -e /dev/$emmc ]; then continue; fi
        device=`stat /dev/$emmc | sed -n 's/.*Device type: //p'`
        major=`echo $device | sed 's/,.*//'`
        minor=`echo $device | sed 's/.*,//'`
        major=$((0x$major))
        minor=$((0x$minor))
        if grep -q internal /sys/dev/block/$major:$minor/device/../slot_name; then
          break
        fi
      done

      # Check if / is on ubi
      if grep -q '^ubi0:rootfs / ubifs' /proc/mounts; then
        root_is_ubi=1
      else
        root_is_ubi=0
      fi

      # MyDocs will be first eMMC partition, /home will be second
      mydocs=/dev/${emmc}p1
      home=/dev/${emmc}p2

      mydocs_type=`blkid -c /dev/null -o value -s TYPE $mydocs`
      home_type=`blkid -c /dev/null -o value -s TYPE $home`

      [ -z "$mydocs_type" ] && mydocs_type=vfat;
      [ -z "$home_type" ] && home_type=ext3;

      eval mydocs_opts=$common_opts,$user_opts,\$${mydocs_type}_opts
      eval home_opts=$common_opts,$root_opts,\$${home_type}_opts

      # Remove duplicate commas from variables
      mydocs_opts=`echo $mydocs_opts | sed ':l;s/,,/,/g;tl;s/^,//;s/,$//'`
      home_opts=`echo $home_opts | sed ':l;s/,,/,/g;tl;s/^,//;s/,$//'`

      [ -z "$mydocs_opts" ] && mydocs_opts=defaults
      [ -z "$home_opts" ] && home_opts=defaults

      swaps=`blkid -c /dev/null -o device -t TYPE=swap`

      if [ "$swap_sd" = "0" ]; then
        swaps=`echo $swaps | tr ' ' '\n' | grep $emmc || true`
      fi

      # Generate fstab
      rm -f $tmp_fstab
      echo "# This file was generated by script /etc/event.d/rcS-late" >> $tmp_fstab
      echo "# !!! Do not edit this file. It will be overwritten in next device startup !!!" >> $tmp_fstab
      echo "# If you want static /etc/fstab add genfstab=\"0\" to file /etc/default/mount-opts-overwrite" >> $tmp_fstab

      # /
      grep '^[^\ ]* / ' /proc/mounts >> $tmp_fstab || true

      # /home
      if [ $root_is_ubi -eq 1 ]; then
        echo "$home /home $home_type $home_opts 0 2" >> $tmp_fstab
      fi

      # /opt
      if [ $root_is_ubi -eq 1 ] || [ ! -e /opt ] || [ -d /opt -a -z "`ls -A /opt`" ]; then
        echo "/home/opt /opt none bind 0 0" >> $tmp_fstab
      fi

      # /home/user/MyDocs
      echo "$mydocs /home/user/MyDocs $mydocs_type $mydocs_opts 0 2" >> $tmp_fstab

      # swap
      for dev in $swaps; do
        echo "$dev none swap sw 0 0" >> $tmp_fstab
      done

      cmp -s $tmp_fstab $fstab || cp $tmp_fstab $fstab
      rm -f $tmp_fstab

    fi

    if [ $ACT_DEAD -eq 0 ]; then
      /sbin/swapon -a || echo "Failed to enable paging partition."
      # Setup lowmem module
      echo 32768  > /proc/sys/vm/lowmem_deny_watermark_pages || true
      echo 98304  > /proc/sys/vm/lowmem_notify_high_pages || true
      echo 131072 > /proc/sys/vm/lowmem_notify_low_pages || true
      echo 1024   > /proc/sys/vm/lowmem_nr_decay_pages || true
      # Exclude some UIDs from memory allocation denial.
      # 30000 is messagebus, 30001 could be used by Matchbox
      echo "30000 30001 30002 30003" > /proc/sys/vm/lowmem_allowed_uids || true
    fi

    mount_home && HOME_MOUNTED=1

    # If failed to mount /home and system has been already optified - reboot 
    if [ $HOME_MOUNTED -eq 0 ]
    then
      if [ -e /var/lib/maemo-optify-firstboot-do-not-clean-home-opt ]; then
        telinit 6
      fi
    else
      [ ! -d /home/opt ] && mkdir /home/opt
      [ ! -d /opt ] && mkdir /opt
    fi

    if [ $ACT_DEAD -eq 0 ]
    then
      if [ $HOME_MOUNTED -eq 1 ]
      then
        if [ -x /usr/sbin/maemo-optify-firstboot.sh ]; then
            . /usr/sbin/maemo-optify-firstboot.sh
        fi
      fi
    fi

    /bin/mount /opt || echo "Failed to mount(bind) /opt."

    if [ $ACT_DEAD -eq 0 ]
    then
      if [ $HOME_MOUNTED -eq 1 ]
      then
        if [ -x /usr/sbin/maemo-optify-auto-opt.sh ]; then
            . /usr/sbin/maemo-optify-auto-opt.sh
        fi
      fi

      if [ -d /home/preinstalled -a -d /home/user ]
      then
        rm -rf /home/user
      fi

      if [ ! -d /home/user ]
      then
        if [ -d /home/preinstalled ]
        then
          mv /home/preinstalled /home/user
        else
          mkdir /home/user
        fi
        cd /etc/skel
        cp -a . /home/user
        chown -R user:users /home/user
        sync
      fi
    fi

    if [ ! -d /home/user ]
    then
      mkdir /home/user
      chown user:users /home/user
      sync
    fi

    # We can safely continue booting now.
    initctl emit MOUNTS_OK

    # Adjust flushing of memory card buffers
    echo 40 > /proc/sys/vm/dirty_ratio
    echo 10 > /proc/sys/vm/dirty_background_ratio

    # Initialize PRNG pool with the HW RNG. Slow, but that's ok.
    URANDOM_POOLSZ=512
    if [ -e /dev/hwrng ]; then
      RANDOM=/dev/hwrng
    elif [ -e /dev/hw_random ]; then
      RANDOM=/dev/hw_random
    fi
    if [ -e "$RANDOM" ]; then
      echo "Seeding entropy pool"
      dd if=$RANDOM of=/dev/urandom bs=$URANDOM_POOLSZ count=1
    fi

    # Data for the panic info driver
    mount -t debugfs nodev /sys/kernel/debug
    if modprobe panic_info_buff; then
      OSSO_VERSION="$(osso-product-info 2>/dev/null || true)"
      CSSU_VERSION="CSSU_VERSION='$(dpkg-query -W -f \${Version} mp-fremantle-community-pr 2>/dev/null || echo '<unknown>')'"
      KERNEL_VERSION="KERNEL_VERSION='$(uname -a 2>/dev/null || echo '<unknown>')'"
      sleep 1
      printf "%s\n%s\n%s" "$OSSO_VERSION" "$CSSU_VERSION" "$KERNEL_VERSION" > /sys/kernel/debug/panic_info_buff || true
    fi
end script

normal exit 0

Last edited by biketool; 2013-07-13 at 18:41.
 
peterleinchen's Avatar
Posts: 4,118 | Thanked: 8,901 times | Joined on Aug 2010 @ Ruhrgebiet, Germany
#68
Check /etc/default/mount-opts.
This is my entry (stock, no CSSU):
Code:
# Options for mounting user's filesystems

home_opts="rw,noatime,errors=continue,commit=1,data=writeback"
fat_opts="noauto,nodev,noexec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir"
sh /etc/kernel-power/pre-mount || true # KERNEL-POWER-HOOK
__________________
SIM-Switcher, automated SIM switching with a Double (Dual) SIM adapter
--
Thank you all for voting me into the Community Council 2014-2016!

Please consider your membership / supporting Maemo e.V. and help to spread this by following/copying this link to your TMO signature:
[MC eV] Maemo Community eV membership application, http://talk.maemo.org/showthread.php?t=94257

editsignature, http://talk.maemo.org/profile.php?do=editsignature
 

The Following User Says Thank You to peterleinchen For This Useful Post:
Posts: 1,424 | Thanked: 2,623 times | Joined on Jan 2011 @ Touring
#69
OK I have CSSU thumb...
just cross checked /etc/event.d/rcS-late against my good N900, again the files appear to be the same
below from the working fine N900
Code:
description "late rcS actions"

start on started hal
stop on stopping hal

console none

script
    #mount /home; fix filesystem and retry mounting if 1st attempt fails
    mount_home ()
    {
    if ! grep -q -E '^\s*[^\s]+\s+/home\s' /etc/fstab; then
      # /home is not in fstab so is part of rootfs and already mounted
      return 0
    fi
    if [ "$home_fsck" != "0" ]; then
      echo "`date +'%Y-%m-%d %H:%M:%S'`  fsck -a /home" >> /var/log/fsck_home.log
      fsck -a /home >> /var/log/fsck_home.log 2>&1 || true
      echo "" >> /var/log/fsck_home.log
    fi
    /bin/mount /home && grep -q '^[^\ ]* /home [^\ ]* [^\ ]*rw.*' /proc/mounts
    if [ $? -eq 0 ]
    then
      return 0
    else
      grep -q '^[^\ ]* /home [^\ ]* [^\ ]*ro.*' /proc/mounts
      if [ $? -eq 0 ]
      then
        umount /home
      fi
      echo "`date +'%Y-%m-%d %H:%M:%S'`  fsck -y /home" >> /var/log/fsck_home.log
      fsck -y /home >> /var/log/fsck_home.log 2>&1 || true
      echo "" >> /var/log/fsck_home.log
      sync
      /bin/mount /home && grep -q '^[^\ ]* /home [^\ ]* [^\ ]*rw.*' /proc/mounts
      return $?
    fi
    }

    ACT_DEAD=0
    HOME_MOUNTED=0

    #check act_dead
    if [ -e /tmp/ACT_DEAD ]; then
      ACT_DEAD=1
    fi

    # Load fstab and mount options
    . /etc/default/mount-opts || true

    if [ ! -e /etc/fstab ] || [ "$genfstab" != "0" ]; then

      fstab=/etc/fstab
      tmp_fstab=/tmp/fstab

      # Find internal eMMC device, fallback to mmcblk0
      for emmc in mmcblk1 mmcblk0; do
        if [ ! -e /dev/$emmc ]; then continue; fi
        device=`stat /dev/$emmc | sed -n 's/.*Device type: //p'`
        major=`echo $device | sed 's/,.*//'`
        minor=`echo $device | sed 's/.*,//'`
        major=$((0x$major))
        minor=$((0x$minor))
        if grep -q internal /sys/dev/block/$major:$minor/device/../slot_name; then
          break
        fi
      done

      # Check if / is on ubi
      if grep -q '^ubi0:rootfs / ubifs' /proc/mounts; then
        root_is_ubi=1
      else
        root_is_ubi=0
      fi

      # MyDocs will be first eMMC partition, /home will be second
      mydocs=/dev/${emmc}p1
      home=/dev/${emmc}p2

      mydocs_type=`blkid -c /dev/null -o value -s TYPE $mydocs`
      home_type=`blkid -c /dev/null -o value -s TYPE $home`

      [ -z "$mydocs_type" ] && mydocs_type=vfat;
      [ -z "$home_type" ] && home_type=ext3;

      eval mydocs_opts=$common_opts,$user_opts,\$${mydocs_type}_opts
      eval home_opts=$common_opts,$root_opts,\$${home_type}_opts

      # Remove duplicate commas from variables
      mydocs_opts=`echo $mydocs_opts | sed ':l;s/,,/,/g;tl;s/^,//;s/,$//'`
      home_opts=`echo $home_opts | sed ':l;s/,,/,/g;tl;s/^,//;s/,$//'`

      [ -z "$mydocs_opts" ] && mydocs_opts=defaults
      [ -z "$home_opts" ] && home_opts=defaults

      swaps=`blkid -c /dev/null -o device -t TYPE=swap`

      if [ "$swap_sd" = "0" ]; then
        swaps=`echo $swaps | tr ' ' '\n' | grep $emmc || true`
      fi

      # Generate fstab
      rm -f $tmp_fstab
      echo "# This file was generated by script /etc/event.d/rcS-late" >> $tmp_fstab
      echo "# !!! Do not edit this file. It will be overwritten in next device startup !!!" >> $tmp_fstab
      echo "# If you want static /etc/fstab add genfstab=\"0\" to file /etc/default/mount-opts-overwrite" >> $tmp_fstab

      # /
      grep '^[^\ ]* / ' /proc/mounts >> $tmp_fstab || true

      # /home
      if [ $root_is_ubi -eq 1 ]; then
        echo "$home /home $home_type $home_opts 0 2" >> $tmp_fstab
      fi

      # /opt
      if [ $root_is_ubi -eq 1 ] || [ ! -e /opt ] || [ -d /opt -a -z "`ls -A /opt`" ]; then
        echo "/home/opt /opt none bind 0 0" >> $tmp_fstab
      fi

      # /home/user/MyDocs
      echo "$mydocs /home/user/MyDocs $mydocs_type $mydocs_opts 0 2" >> $tmp_fstab

      # swap
      for dev in $swaps; do
        echo "$dev none swap sw 0 0" >> $tmp_fstab
      done

      cmp -s $tmp_fstab $fstab || cp $tmp_fstab $fstab
      rm -f $tmp_fstab

    fi

    if [ $ACT_DEAD -eq 0 ]; then
      /sbin/swapon -a || echo "Failed to enable paging partition."
      # Setup lowmem module
      echo 32768  > /proc/sys/vm/lowmem_deny_watermark_pages || true
      echo 98304  > /proc/sys/vm/lowmem_notify_high_pages || true
      echo 131072 > /proc/sys/vm/lowmem_notify_low_pages || true
      echo 1024   > /proc/sys/vm/lowmem_nr_decay_pages || true
      # Exclude some UIDs from memory allocation denial.
      # 30000 is messagebus, 30001 could be used by Matchbox
      echo "30000 30001 30002 30003" > /proc/sys/vm/lowmem_allowed_uids || true
    fi

    mount_home && HOME_MOUNTED=1

    # If failed to mount /home and system has been already optified - reboot 
    if [ $HOME_MOUNTED -eq 0 ]
    then
      if [ -e /var/lib/maemo-optify-firstboot-do-not-clean-home-opt ]; then
        telinit 6
      fi
    else
      [ ! -d /home/opt ] && mkdir /home/opt
      [ ! -d /opt ] && mkdir /opt
    fi

    if [ $ACT_DEAD -eq 0 ]
    then
      if [ $HOME_MOUNTED -eq 1 ]
      then
        if [ -x /usr/sbin/maemo-optify-firstboot.sh ]; then
            . /usr/sbin/maemo-optify-firstboot.sh
        fi
      fi
    fi

    /bin/mount /opt || echo "Failed to mount(bind) /opt."

    if [ $ACT_DEAD -eq 0 ]
    then
      if [ $HOME_MOUNTED -eq 1 ]
      then
        if [ -x /usr/sbin/maemo-optify-auto-opt.sh ]; then
            . /usr/sbin/maemo-optify-auto-opt.sh
        fi
      fi

      if [ -d /home/preinstalled -a -d /home/user ]
      then
        rm -rf /home/user
      fi

      if [ ! -d /home/user ]
      then
        if [ -d /home/preinstalled ]
        then
          mv /home/preinstalled /home/user
        else
          mkdir /home/user
        fi
        cd /etc/skel
        cp -a . /home/user
        chown -R user:users /home/user
        sync
      fi
    fi

    if [ ! -d /home/user ]
    then
      mkdir /home/user
      chown user:users /home/user
      sync
    fi

    # We can safely continue booting now.
    initctl emit MOUNTS_OK

    # Adjust flushing of memory card buffers
    echo 40 > /proc/sys/vm/dirty_ratio
    echo 10 > /proc/sys/vm/dirty_background_ratio

    # Initialize PRNG pool with the HW RNG. Slow, but that's ok.
    URANDOM_POOLSZ=512
    if [ -e /dev/hwrng ]; then
      RANDOM=/dev/hwrng
    elif [ -e /dev/hw_random ]; then
      RANDOM=/dev/hw_random
    fi
    if [ -e "$RANDOM" ]; then
      echo "Seeding entropy pool"
      dd if=$RANDOM of=/dev/urandom bs=$URANDOM_POOLSZ count=1
    fi

    # Data for the panic info driver
    mount -t debugfs nodev /sys/kernel/debug
    if modprobe panic_info_buff; then
      OSSO_VERSION="$(osso-product-info 2>/dev/null || true)"
      CSSU_VERSION="CSSU_VERSION='$(dpkg-query -W -f \${Version} mp-fremantle-community-pr 2>/dev/null || echo '<unknown>')'"
      KERNEL_VERSION="KERNEL_VERSION='$(uname -a 2>/dev/null || echo '<unknown>')'"
      sleep 1
      printf "%s\n%s\n%s" "$OSSO_VERSION" "$CSSU_VERSION" "$KERNEL_VERSION" > /sys/kernel/debug/panic_info_buff || true
    fi
end script

normal exit 0
this is the /etc/fstab generated which seems to be fine on the good N900, again I may be missing something

Code:
# This file was generated by script /etc/event.d/rcS-late
# !!! Do not edit this file. It will be overwritten in next device startup !!!
# If you want static /etc/fstab add genfstab="0" to file /etc/default/mount-opts-overwrite
rootfs / rootfs rw 0 0
ubi0:rootfs / ubifs rw,bulk_read,no_chk_data_crc 0 0
/dev/mmcblk0p2 /home ext3 defaults 0 2
/home/opt /opt none bind 0 0
/dev/mmcblk0p1 /home/user/MyDocs vfat defaults 0 2
/dev/mmcblk1p2 none swap sw 0 0
/dev/mmcblk0p3 none swap sw 0 0
 
Posts: 1,424 | Thanked: 2,623 times | Joined on Jan 2011 @ Touring
#70
ok /etc/default/mount-opts bad N900
Code:
# Options for mounting user's filesystems

home_opts="rw,noatime,errors=continue,commit=1,data=writeback"
fat_opts="noauto,nodev,noexec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir"
good N900

Code:
# Options for mounting user's filesystems

home_opts="rw,noatime,errors=continue,commit=1,data=writeback"
fat_opts="noauto,nodev,noexec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir"
So a quick review shows us all with the same options, is it time to try forcing something?

(edit)In a simpler time I dont think I ever used the rodir option...

Last edited by biketool; 2013-07-13 at 19:05.
 
Reply


 
Forum Jump


All times are GMT. The time now is 03:41.