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

Reply via email to