Galaxy 3 Devs , please take a look on this.
http://xdaforums.com/showthread.php?t=1398797
Kernel needs to be patched for this. I am not having access to my PC so if any kernel dev can pull this off then it would be great.
Instructions:-
1-Add Ext4 kernel Modules
Compile the jbd2.ko and ext4.ko modules for the Kernel and put them into /lib/modules inside the ramdisk:
2- Patch init.rc file
Patch the init.rc file into the ramdisk to load these modules into the kernel immediately after the first boot stage of the firmware:
3- Add busybox
Add a copy of busybox into /sbin.
We need it to mount ext4 filesystems on microSD later on.
4- Patch init.rc again
Change the mount command for /data!
Original code:
Patched code:
5- Add init.data.sh file
Add an external shell file, used to mount microsd /data avoiding the Android Init Language used by init.rc.
http://xdaforums.com/showthread.php?t=1398797
Kernel needs to be patched for this. I am not having access to my PC so if any kernel dev can pull this off then it would be great.
Instructions:-
1-Add Ext4 kernel Modules
Compile the jbd2.ko and ext4.ko modules for the Kernel and put them into /lib/modules inside the ramdisk:
Code:
gandalf $ ls -l ./ramdisk/lib/modules/
totale 1304
-rw-r--r-- 1 root root 236116 11 dic 08.24 ext4.ko
-rw-r--r-- 1 root root 363932 11 dic 08.24 fsr.ko
-rw-r--r-- 1 root root 211200 11 dic 08.24 fsr_stl.ko
-rw-r--r-- 1 root root 58176 11 dic 08.24 jbd2.ko
-rw-r--r-- 1 root root 260568 11 dic 08.24 rfs_fat.ko
-rw-r--r-- 1 root root 90968 11 dic 08.24 rfs_glue.ko
-rw-r--r-- 1 root root 99532 11 dic 08.24 sec_param.ko
gandalf $
2- Patch init.rc file
Patch the init.rc file into the ramdisk to load these modules into the kernel immediately after the first boot stage of the firmware:
Code:
# insmod fsr/rfs modules
insmod /lib/modules/fsr.ko
insmod /lib/modules/fsr_stl.ko
insmod /lib/modules/rfs_glue.ko
insmod /lib/modules/rfs_fat.ko
insmod /lib/modules/sec_param.ko
insmod /lib/modules/jbd2.ko
insmod /lib/modules/ext4.ko
3- Add busybox
Add a copy of busybox into /sbin.
We need it to mount ext4 filesystems on microSD later on.
Code:
gandalf $ ls -l ./ramdisk/sbin/
totale 2088
-rwxr-x--- 1 root root 117948 11 dic 08.18 adbd
-rwsr-xr-x 1 root root 2016700 11 dic 08.21 busybox
lrwxrwxrwx 1 root root 7 11 dic 08.18 ueventd -> ../init
(i686) gandalf ~ (i686) $
4- Patch init.rc again
Change the mount command for /data!
Original code:
Code:
# Mounting of system/userdata is moved to 'on emmc' and 'on nand' sections
# We chown/chmod /data again so because mount is run as root + defaults
[COLOR="Red"]mount rfs /dev/stl6 /data nosuid nodev check=no[/COLOR]
chown system system /data
chmod 0771 /data
Patched code:
Code:
# Mounting of system/userdata is moved to 'on emmc' and 'on nand' sections
# We chown/chmod /data again so because mount is run as root + defaults
[COLOR="red"]exec /sbin/busybox sh /init.data.sh[/COLOR]
chown system system /data
chmod 0771 /data
5- Add init.data.sh file
Add an external shell file, used to mount microsd /data avoiding the Android Init Language used by init.rc.
Code:
gandalf $ cat ./ramdisk/init.data.sh
#!/sbin/busybox sh
/sbin/busybox mount -o nosuid,nodev -t ext4 /dev/block/mmcblk0p2 /data || /sbin/busybox mount -o nosuid,nodev -t rfs /dev/stl7 /data
gandalf $