Alek,
Here is an updated patch that mounts the first partition that contains
the squashfs as read only.
Michael
Du, Alek wrote:
> Michael,
>
> Thanks for the patch. Will apply to the MIC tree and do some test.
>
> Thanks,
> alek
>
> -----Original Message-----
> From: Michael Frey [mailto:[EMAIL PROTECTED]
> Sent: 2008年1月10日 22:59
> To: Rhoads, Rob
> Cc: Du, Alek; Villalovos, John L; Karur Mohan, Prajwal;
> [email protected]
> Subject: Re: Fix for squashfs disk corruption problem
>
> Attached is a patch against the latest moblin-image-creator git tree to
> change all partitions to be formatted as ext3 and mounted as such.
>
> Thanks,
> Michael
>
>
>
> Rhoads, Rob wrote:
>
>> Michael Frey wrote:
>>
>>
>>> Yes, That is exactly what I did.
>>>
>>>
>>>
>> Right. What I was trying to say is that we now need to commit these
>> changes to the source repos on moblin. Do you have a patch of your
>> changes?
>>
>> -RobR
>>
>>
>>
>>> Michael
>>>
>>> On Jan 9, 2008, at 4:43 PM, Rhoads, Rob wrote:
>>>
>>>
>>>
>>>> Michael Frey wrote:
>>>>
>>>>
>>>>> Rob,
>>>>>
>>>>> Dave Mandala asked me to inform you of the following.
>>>>>
>>>>> After some investigation, I found that changing Moblin Image Creator
>>>>> to format all partitions as ext3 fixes the "disk corruption" issue.
>>>>>
>>>>> It turns out that the partition that holds the squashfs image was
>>>>> formated as ext2 not ext3 therefore making it prone to
>>>>> corruption since
>>>>> there is no journaling on ext2.
>>>>>
>>>>>
>>>>>
>>>> In that case we'll need to modify Moblin image-creator's install.sh
>>>> script and the platform initramfs to use the ext3 for all partitions
>>>> created on the target platform.
>>>>
>>>> -RobR
>>>>
>>>>
diff --git a/platforms/common-apt/initramfs/disk b/platforms/common-apt/initramfs/disk
index d85fb24..3df9fb6 100755
--- a/platforms/common-apt/initramfs/disk
+++ b/platforms/common-apt/initramfs/disk
@@ -51,30 +51,30 @@ mountroot ()
then
# We are using squashfs
echo "Setting up our squashfs and ext3fs unionfs system..."
- mount -o rw /dev/${device}1 /container
+ mount -t ext3 -o ro /dev/${device}1 /container
while [ ! -e "/container/rootfs.img" ]
do
echo "Did not find /container/rootfs.img"
echo "sleeping for 0.5 seconds..."
/bin/sleep 0.5
echo "Mounting: mount -o rw /dev/${device}1 /container"
- mount -o rw /dev/${device}1 /container
+ mount -t ext3 -o rw /dev/${device}1 /container
done
mount -o ro,loop -t squashfs /container/rootfs.img /squashmnt
- mount -o rw,noatime,nodiratime /dev/${device}2 /persistmnt
+ mount -t ext3 -o rw,noatime,nodiratime /dev/${device}2 /persistmnt
mount -t unionfs -o dirs=/persistmnt=rw:/squashmnt=ro none ${rootmnt}
else
# We are NOT using squashfs
echo "mounting root partition, NOT using squashfs"
- mount -o rw,noatime,nodiratime /dev/${device}2 ${rootmnt}
+ mount -t ext3 -o rw,noatime,nodiratime /dev/${device}2 ${rootmnt}
while [ ! -e "${rootmnt}/bin" ]
do
echo "Did not find ${rootmnt}/bin"
echo "sleeping for 2 seconds..."
/bin/sleep 2
echo "Mounting: mount -o rw,noatime,nodiratime /dev/${device}2 ${rootmnt}"
- mount -o rw,noatime,nodiratime /dev/${device}2 ${rootmnt}
+ mount -t ext3 -o rw,noatime,nodiratime /dev/${device}2 ${rootmnt}
done
- mount -o rw,noatime,nodiratime /dev/${device}1 ${rootmnt}/boot
+ mount -t ext3 -o rw,noatime,nodiratime /dev/${device}1 ${rootmnt}/boot
fi
}
diff --git a/platforms/common-apt/install.sh b/platforms/common-apt/install.sh
index 5f4547b..dacbb95 100644
--- a/platforms/common-apt/install.sh
+++ b/platforms/common-apt/install.sh
@@ -154,9 +154,9 @@ sync
splash_progress 10
splash_delay 10
-splash_display "Formatting /dev/${device}1 w/ ext2..."
+splash_display "Formatting /dev/${device}1 w/ ext3..."
splash_delay 200
-mkfs.ext2 /dev/${device}1
+mkfs.ext3 /dev/${device}1
sync
splash_progress 20
splash_delay 10
--
Ubuntu-mobile mailing list
[email protected]
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile