I would like to collect all available (and useful) public information about RFS and XSR.
XSR™(eXtended Sector Remapper)
Ultimate Software Solution for High-Performance Flash Storage
SAMSUNG XSR is a flash management software solution for OneNAND flash memory. SAMSUNG XSR is independent of OS, and manages high-capacity data and codes quickly and safely. SAMSUNG XSR has the same functionalities with well-known flash translation layer (FTL).
Brochure
Porting Guide
Application Notes
Click to expand...
Click to collapse
Source: Samsung Flash Software
RFS™(Robust FAT File System™)
flash software solution for Linux based mobile device
SAMSUNG RFS is an ideal flash software solution for Linux-based embedded system using OneNAND flash memory. RFS delivers the optimal flash management functionalities for OneNAND flash memory with SAMSUNG's innovative software technology.
Brochure
Porting Guide
Application Notes
Click to expand...
Click to collapse
Source: Samsung Flash Software
List of downloadable documents:
(sorted by priority for reading/ level of details, top to down)
RFS:
Samsung: Introduction to Samsung’s Linux Flash File System - RFS - Application Note v1.2 (begin with this to get a clue)
Samsung: Linux RFS v1.3.0 Porting Guide
Samsung: Linux RFS Power Off Recovery - Technical Paper
Samsung: Fast Seek Access in Linux RFS - Technical Paper
Samsung: Linux RFS v1.2.2 Porting Guide (contains also information about XSR)
XSR:
Samsung: XSR 1.5 Wear Leveling - Application Note
Samsung: XSR 1.5 Bad Block Management XSR 1.5 Bad Block Management - Application Note
Samsung: XSR v1.6.1 Porting Guide (very detailed infos about wearleveling, bml, stl : must-have-read)
Samsung: XSR v1.5.2 Porting Guide (only listed, because it contains a chancelog)
Samsung: XSR v1.5.1 Pre-programming Guide (some internals - not all but very interesting)
spica-developers.net: RFS and XSR related header files in /include/linux (leaked with spica source code)
spica-developers.net: XSR related precompiled binary files (maybe not usable on SGS)
github: LinuStoreIII_1.2.0 - FSR adoption - tfsr driver in <kernel source dir>/drivers/tfsr (read the XSR porting guide to understand this code, thx to ttabbal)
Not so useful, but contains alot of configuration details:
Samsung: VFAT vs. RFS performance analysis on Apollon_Plus_Rev1.1 board by using IOzone
Samsung: UniStore II v1.5.1 Installation Guide
Missing documents:
(known to be existent by reference, but maybe not available to public)
RFS v1.3.0 Programmer’s Guide, Samsung Electronics, Co., Ltd.
LinuStoreII Utility Guide, Samsung Electronics Co., Ltd.
LinuStoreII Porting Guide, Samsung Electronics Co., Ltd.
Samsung Electornics RFS v1.2 Programming Guide
RFS v1.2.2 Programmer’s Guide, Samsung Electronics, Co., Ltd...
RFS v1.2.2 Ftools Utility Guide, Samsung Electronics Co., Ltd...
( http://www.samsung.com/Products/Semiconductor/FlashSW/XSR_Porting_Guide.htm - page does not exist any more)
DPM manual, MontaVista Linux Consumer Electronics Edition 3.1
XSR v1.5.1 Part 1. Sector Translation Layer Programmer’s Guide, Samsung Electronics, Co., LTD, APR-07-2006
XSR v1.5.1 Part 2. Block Management Layer Programmer’s Guide, Samsung Electronics, Co., LTD, APR-07-2006
XSR v1.5.1 Porting Guide, Samsung Electronics, Co., LTD, APR-07-2006
XSR v1.6.1 Part 1. Sector Translation Layer Programmer’s Guide, Samsung Electronics, Co., LTD, NOV-2007
XSR v1.6.1 Part 2. Block Management Layer Programmer’s Guide, Samsung Electronics, Co., LTD, NOV-2007
Not reviewed documents:
Samsung: Linux RFS v1.2.0 Porting Guide
Dynamic Power Management for Embedded Systems" (IBM and MontaVista Software)
http://www.research.ibm.com/arl/publications/papers/DPM_V1.1.pdf
Rules for posting in this thread:
Post only new information!
(if you don't know if a information is new, post it, but fulfill the other rules!)
No duplicates!
(check this before posting)
No questions!
No praise posts!
placeholder
Linustore porting guide.
http://www.samsung.com/global/busin...cts/flash/downloads/RFS_130_Porting_Guide.pdf
XSR v1.6.1 Part 2
http://www.samsung.com/global/busin...onmemory/downloads/xsr_v161_porting_guide.pdf
RFS v1.2.2 Ftools Utility Guide, Samsung Electronics Co., Ltd...
http:// www .samsung. com/Products/Semiconductor/FlashSW/XSR_Porting_Guide.htm (page does not exist any more)
http://www.samsung.com/global/busin...ts/flash/downloads/RFS_v122_Porting_Guide.pdf
RFS v1.2.2 Programmer’s Guide, Samsung Electronics, Co., Ltd...
http://www.samsung.com/global/busin.../applicationnote/rfs_v12_application_note.pdf
Samsung's kernel source has all the files mentioned in the XSR porting guide.
<kernel source dir>/drivers/tfsr
Interesting to note, we have source for the low-level OneNAND drivers in there... BML, OAM, PAM source as well, all this is for interfacing to the closed kernel module, but it might be possible to adapt the LLD OneNAND driver to interface to the kernel like the MTD driver does, allowing us to use yaffs2 or nilfs and skip Samsungs propriatary wear leveling type code, thus eliminating the FSR module. I have not read the source enough to be able to say for sure how well something like that would work. It would be nice if I could, for example, start the phone up with just ADB running so I could fool with the kernel and use a shell without the rest of the OS loading.
There's also a driver for OneNAND in drivers/mtd/onenand .... interesting.
I wonder if I can tell it to boot from the SD card and ignore the OneNAND devices completely. Then I could fuss with them seperately.
ragin said:
Linustore porting guide.
http://www.samsung.com/global/busin...cts/flash/downloads/RFS_130_Porting_Guide.pdf
Click to expand...
Click to collapse
ragin said:
XSR v1.6.1 Part 2
http://www.samsung.com/global/busin...onmemory/downloads/xsr_v161_porting_guide.pdf
Click to expand...
Click to collapse
ragin said:
RFS v1.2.2 Ftools Utility Guide, Samsung Electronics Co., Ltd...
http:// www .samsung. com/Products/Semiconductor/FlashSW/XSR_Porting_Guide.htm (page does not exist any more)
http://www.samsung.com/global/busin...ts/flash/downloads/RFS_v122_Porting_Guide.pdf
Click to expand...
Click to collapse
ragin said:
RFS v1.2.2 Programmer’s Guide, Samsung Electronics, Co., Ltd...
http://www.samsung.com/global/busin.../applicationnote/rfs_v12_application_note.pdf
Click to expand...
Click to collapse
I checked all of these links, these are duplicates.
Please check your findings before posting.
You could do that very quickly by using a hash-tool (like md5).
ttabbal said:
Samsung's kernel source has all the files mentioned in the XSR porting guide.
<kernel source dir>/drivers/tfsr
Interesting to note, we have source for the low-level OneNAND drivers in there... BML, OAM, PAM source as well, all this is for interfacing to the closed kernel module, but it might be possible to adapt the LLD OneNAND driver to interface to the kernel like the MTD driver does, allowing us to use yaffs2 or nilfs and skip Samsungs propriatary wear leveling type code, thus eliminating the FSR module. I have not read the source enough to be able to say for sure how well something like that would work. It would be nice if I could, for example, start the phone up with just ADB running so I could fool with the kernel and use a shell without the rest of the OS loading.
There's also a driver for OneNAND in drivers/mtd/onenand .... interesting.
I wonder if I can tell it to boot from the SD card and ignore the OneNAND devices completely. Then I could fuss with them seperately.
Click to expand...
Click to collapse
Thank you, i'll add that. I'm searching for a git, i can link to.
neldar said:
Thank you, i'll add that. I'm searching for a git, i can link to.
Click to expand...
Click to collapse
http://github.com/travistabbal/linux-galaxy/tree/ttabbal-v1.0
Just one, any samsung kernel source for galaxy s will probably have the same stuff.
Does anyone have a datasheet for the onenand/movimcp in our phones?
tag it RFS, pls
too bad, the OP did not tag this thread "RFS"
Is there a saved copy of the documents mentioned that survived Samsung's restructuring of their website? (I hope I'm beating a horse that isn't completely dead yet.) Thanks
new source file upload from Samsung (with new KERNEL and old PLATFORM) :
(2012/04) GT-I9000_Opensource_GB_Update2.zip (130 448 844 bytes)
list of previously released source files from Samsung:
(2011/09) GalaxyS_OpenSource_GB_Update2.zip (137 626 058 bytes)
(2011/06) GT-I9000_OpenSource_GB_Update.tar.gz (130 834 699 bytes)
(2011/04) GT-I9000_OpenSource_GB.zip (131 262 550 bytes)
Maybe the value pack source?
platform file is old
kernel file is new
comparing to previously released sources, we can see this is newer version with some fixes, like here:
Code:
diff -r GT-I9000_Kernel-old/drivers/gpu/pvr/pvrversion.h GT-I9000_Kernel-new/drivers/gpu/pvr/pvrversion.h
33,34c33,34
< #define PVRVERSION_BUILD 3947
< #define PVRVERSION_STRING "1.6.16.3947"
---
> #define PVRVERSION_BUILD 4131
> #define PVRVERSION_STRING "1.6.16.4131"
but difference is not big - 54 files updated, 2 new folders:
1) wifi driver sources (it was not included in previous kernel samsung release)
/drivers/net/wireless/bcm4329/src/
2) FSR (tfsr) driver source (previous kernel have only empty /driver/fsr folder)
/drivers/tfsr
list of updated 54 files
Code:
/arch/arm/configs/aries_eur_defconfig
/arch/arm/configs/aries_jpn_defconfig
/arch/arm/mach-s5pv210/mach-aries.c
/drivers/bluetooth/bthid/bthid.c
/drivers/gpu/pvr/bridged_pvr_bridge.c
/drivers/gpu/pvr/dbgdrv/hostfunc.c
/drivers/gpu/pvr/dbgdrv/main.c
/drivers/gpu/pvr/device.h
/drivers/gpu/pvr/hash.c
/drivers/gpu/pvr/Kconfig
/drivers/gpu/pvr/Makefile
/drivers/gpu/pvr/mem_debug.c
/drivers/gpu/pvr/mutils.h
/drivers/gpu/pvr/osfunc.c
/drivers/gpu/pvr/osfunc.h
/drivers/gpu/pvr/power.c
/drivers/gpu/pvr/pvrsrv.c
/drivers/gpu/pvr/pvrversion.h
/drivers/gpu/pvr/queue.c
/drivers/gpu/pvr/s3c_bc/s3c_bc.c
/drivers/gpu/pvr/s3c_bc/s3c_bc.h
/drivers/gpu/pvr/s3c_bc/s3c_bc_linux.c
/drivers/gpu/pvr/s3c_bc/s3c_bc_linux.h
/drivers/gpu/pvr/s3c_bc/s3c_bc_params.h
/drivers/gpu/pvr/s3c_lcd/s3c_displayclass.c
/drivers/gpu/pvr/s5pc110/sysconfig.c
/drivers/gpu/pvr/servicesext.h
/drivers/gpu/pvr/sgx/bridged_sgx_bridge.c
/drivers/gpu/pvr/sgxerrata.h
/drivers/gpu/pvr/sgxinfo.h
/drivers/gpu/pvr/sgx/sgxconfig.h
/drivers/gpu/pvr/sgx/sgxinit.c
/drivers/gpu/pvr/sgx/sgxpower.c
/drivers/gpu/pvr/sgx/sgxreset.c
/drivers/gpu/pvr/sgx/sgxtransfer.c
/drivers/gpu/pvr/sgx/sgxutils.c
/drivers/gpu/pvr/sgx/sgxutils.h
/drivers/gpu/pvr/syscommon.h
/drivers/input/touchscreen/qt602240.h
/drivers/Kconfig
/drivers/Makefile
/drivers/media/video/samsung/jpeg_v2/Kconfig
/drivers/media/video/samsung/mfc50/mfc_interface.h
/drivers/media/video/samsung/mfc50/mfc_memory.h
/drivers/misc/Kconfig
/drivers/net/wireless/Makefile
/drivers/rtc/rtc-s3c.c
/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c
/drivers/usb/gadget/u_ether.c
/fs/Kconfig
/fs/Makefile
/fs/proc/base.c
/Makefile
/sound/s5p-rp/s5p-rp.c
Look at the diff from /arch/arm/mach-s5pv210/mach-aries.c and you'll see where the "new" memory is taken from
here i asked for them
Code:
[SAMSUNG OSRC COMMENTS DELIVERY NOTIFICATION]
Dear Customer,
We are pleased to provide you the source code of GT-I9000.
You can download the source code from the site below:
https://opensource.samsung.com (GT-I9000_Opensource_GB_Update2.zip)
Thank you.
Sincerely yours,
You may find the source code
what was your request about? release newer kernel sources or something more specific?
Hi Guys,
I use an Xperia S UB...Recently, I flashed back to Stock ROM from CARBON Rom....
And I have been trying to root my device like before with the help of Doom Lord Rooting Tool Kit...But the following happens...and my phone remains unrooted....Please help
Press any key to continue . . .
--- STARTING ----
--- WAITING FOR DEVICE
--- creating temporary directory
mkdir failed for tmp, File exists
--- cleaning
rm failed for *, No such file or directory
--- pushing files
45 KB/s (326 bytes in 0.007s)
140 KB/s (1578 bytes in 0.011s)
4274 KB/s (26268 bytes in 0.006s)
5018 KB/s (853044 bytes in 0.166s)
4056 KB/s (112164 bytes in 0.027s)
5797 KB/s (1953159 bytes in 0.329s)
--- DooMing device!
--- Correcting permissions
--- Running exploit
run_root_shell v7.0 (20130731)
Based on pref_event exploit
Modified for auto-rooting by DooMLoRD
Part of Easy Rooting Toolkit
Devices Supported:
Xperia Z (C6602/3) - 10.3.A.0.423
Xperia Z (C6606) - 10.1.1.B.0.166
Xperia Z (C6602/3) - 10.1.1.A.1.253/307
Xperia ZL (C6502/3/6) - 10.3.A.0.423
Tablet Z (SGP321) - 10.1.1.A.1.307
Tablet Z (SGP311/2) - 10.1.C.0.370
Xperia ZR (C5502/3/M36h) - 10.1.1.A.1.310
Xperia SP (C5302/3/6) - 12.0.A.1.211/257/284
Xperia L (C2104/5) - 15.0.A.1.31/36
Xperia T (LT30p) - 9.1.A.1.141/142/145
Xperia TX (LT29i) - 9.1.B.1.67
Xperia V (LT25i) - 9.1.A.1.140/142/145
Xperia S (LT26i) - 6.2.B.0.200/211
Xperia SL (LT26ii) - 6.2.B.0.211
Xperia Acro S (LT26w) - 6.2.B.0.200/211
Xperia Ion (LT28h/i) - 6.2.B.0.211
Xperia P (LT22i) - 6.2.A.1.100
Xperia Go (ST27i/a) - 6.2.A.1.100
Xperia J (ST26i/a) - 11.2.A.0.21/31
Xperia AX (SO-01E) - 10.1.D.0.343
Tablet Z (SO-03E) - 10.1.E.0.265/269
Xperia GX (SO-04D) - 7.0.D.1.137
Xperia A (SO-04E) - 10.1.1.D.0.179
Xperia A (SO-04E) - 10.1.1.D.2.26
Xperia SX (SO-05D) - 7.0.D.1.137
Xperia SX (SO-05D) - 9.1.C.0.475
Xperia VL (SOL21) - 9.0.F.0.226
Xperia VL (SOL21) - 9.1.D.0.395/401
Xperia UL (SOL22) - 10.2.F.3.43
Changelog is posted here: http://bit.ly/ert_log
Device detected: LT26i (6.2.B.1.96)
LT26i (6.2.B.1.96) is not supported.
You need to manage to get remap_pfn_range addresses.
--- cleaning
--- Please wait device is now rebooting
ALL DONE!!!
Press any key to continue . . .
I keep my USB Tethering on....otherwise....It gets stuck in Waiting for Device....
I always used to this successfully before....
Help!!
Thanks
sam.i.r said:
Hi Guys,
I use an Xperia S UB...Recently, I flashed back to Stock ROM from CARBON Rom....
And I have been trying to root my device like before with the help of Doom Lord Rooting Tool Kit...But the following happens...and my phone remains unrooted....Please help
Press any key to continue . . .
--- STARTING ----
--- WAITING FOR DEVICE
--- creating temporary directory
mkdir failed for tmp, File exists
--- cleaning
rm failed for *, No such file or directory
--- pushing files
45 KB/s (326 bytes in 0.007s)
140 KB/s (1578 bytes in 0.011s)
4274 KB/s (26268 bytes in 0.006s)
5018 KB/s (853044 bytes in 0.166s)
4056 KB/s (112164 bytes in 0.027s)
5797 KB/s (1953159 bytes in 0.329s)
--- DooMing device!
--- Correcting permissions
--- Running exploit
run_root_shell v7.0 (20130731)
Based on pref_event exploit
Modified for auto-rooting by DooMLoRD
Part of Easy Rooting Toolkit
Devices Supported:
Xperia Z (C6602/3) - 10.3.A.0.423
Xperia Z (C6606) - 10.1.1.B.0.166
Xperia Z (C6602/3) - 10.1.1.A.1.253/307
Xperia ZL (C6502/3/6) - 10.3.A.0.423
Tablet Z (SGP321) - 10.1.1.A.1.307
Tablet Z (SGP311/2) - 10.1.C.0.370
Xperia ZR (C5502/3/M36h) - 10.1.1.A.1.310
Xperia SP (C5302/3/6) - 12.0.A.1.211/257/284
Xperia L (C2104/5) - 15.0.A.1.31/36
Xperia T (LT30p) - 9.1.A.1.141/142/145
Xperia TX (LT29i) - 9.1.B.1.67
Xperia V (LT25i) - 9.1.A.1.140/142/145
Xperia S (LT26i) - 6.2.B.0.200/211
Xperia SL (LT26ii) - 6.2.B.0.211
Xperia Acro S (LT26w) - 6.2.B.0.200/211
Xperia Ion (LT28h/i) - 6.2.B.0.211
Xperia P (LT22i) - 6.2.A.1.100
Xperia Go (ST27i/a) - 6.2.A.1.100
Xperia J (ST26i/a) - 11.2.A.0.21/31
Xperia AX (SO-01E) - 10.1.D.0.343
Tablet Z (SO-03E) - 10.1.E.0.265/269
Xperia GX (SO-04D) - 7.0.D.1.137
Xperia A (SO-04E) - 10.1.1.D.0.179
Xperia A (SO-04E) - 10.1.1.D.2.26
Xperia SX (SO-05D) - 7.0.D.1.137
Xperia SX (SO-05D) - 9.1.C.0.475
Xperia VL (SOL21) - 9.0.F.0.226
Xperia VL (SOL21) - 9.1.D.0.395/401
Xperia UL (SOL22) - 10.2.F.3.43
Changelog is posted here: http://bit.ly/ert_log
Device detected: LT26i (6.2.B.1.96)
LT26i (6.2.B.1.96) is not supported.
You need to manage to get remap_pfn_range addresses.
--- cleaning
--- Please wait device is now rebooting
ALL DONE!!!
Press any key to continue . . .
I keep my USB Tethering on....otherwise....It gets stuck in Waiting for Device....
I always used to this successfully before....
Help!!
Thanks
Click to expand...
Click to collapse
You flashed stock ROM, but are You also ion stock kernel? Also, You need to change the kernel(downgrade it to previous version) to root successfully. Also, if You just want to root, try towelroot app. It will root Your phone without any of these hassles.
I'm trying to install Kali with Linux Deploy form the play store. I understand that my SD card may need to be partitioned, but I'm not sure how exactly. I also know that my device needs to support device looping, which I don't think it does. Is there a Kernel or ROM I can install to enable that?
I have a (Kingoroot) rooted Android Galaxy Tab 3 (SM-T113) running Android 4.4.4
Current kernel version 3.10.17-1114920
[email protected] #2
Linux Deploy gives me this output on status.
[16:03:06] >>> status
[16:03:06] Architecture:
[16:03:06] Kernel:
[16:03:06] Memory: / MB
[16:03:06] Swap: / MB
[16:03:06] SELinux: yes
[16:03:06] Loop devices: no
[16:03:06] Support binfmt_misc: no
[16:03:06] Supported FS:
[16:03:06] Installed system: unknown
[16:03:06] Status of components:
[16:03:06] Mounted parts:
[16:03:06] ...nothing mounted
[16:03:06] Available mount points:
[16:03:06] ...no mount points
[16:03:06] Available partitions:
[16:03:07] ...no available partitions
[16:03:07] <<< status
Kali is a Debian based Linux. Which makes it reliable and stable. But Kali Linux has grown so much. Now you can install it on almost anything. Once you iron out the kinks it can installed on most any device. Kali's distributions are already built to work on many things. Such as Live Boot USB, ARMs, Virtual Machines, Containers, Windows, The Cloud, and some Mobile Devices with Kali AKA Nethunter.
Kali Distributions https://www.kali.org/get-kali/
NetHunter https://stats.nethunter.com/
If you feel like learning how easy or hard it is. Most of the work has already been done. Just follow the path and you can create builds for smart watches or so I've heard
README.md · master · Kali Linux / NetHunter / build-scripts / kali-nethunter-devices · GitLab
Devices https://stats.nethunter.com/ https://nethunter.kali.org/
gitlab.com