yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] xc-racer99:
Yes, this should be all that is needed to get it working from the external SD. Do note that with the renaming of the file the syntax has also changed. Also, I'm justing having a look at the TWRP recovery part and I'm not sure whether or not I did it properly. If there are errors mounting the SD card in recovery, let me know and I'll fix it (the recovery log in that case would be appreciated along with the output of the command "mount"). I'll upload the boot.img shortly after its finished compiling.

Edit: I just noticed that [MENTION=3651088]Zippy Dufus[/MENTION] has been building his own. I'll upload my changes to GitHub and you can have a look at them there.

---------- Post added at 10:36 AM ---------- Previous post was at 09:53 AM ----------

Alright, I have now uploaded the boot.img. It can be downloaded from https://drive.google.com/file/d/0B7vXjzo0Hj-icDQ4WURCSUFXd0k/view?usp=sharing. Let me know if everything works properly/as expected.

Please do not use this unless you have an i9000 and your internal SD is bricked.
[Galaxy S I9000 Android Development] Nirak:
Well, assuming you have partitioned and prepared your SDcard the right way this should do the trick to let sd card depending apps (such as Camera and Gallery) believe you have another SDcard inserted thus you have a fully functioning device.
[Galaxy S I9000 Android Development] Nirak:
Just flashed it and it's working great, gallery and camera are working again as they should.

Thank you so much xc-racer99!!
[Galaxy S I9000 Android Development] xc-racer99:
Good to hear! I've pushed the changes to my github so anyone can use them and create boot.img's for other Galaxy S devices.
[Galaxy S I9000 Android Development] Zippy Dufus:
Questions, questions ...

So I dusted off my i9000 paperweight and flashed your boot.img and, tada!, I get TWRP v2.8.7.0.

And now I have a load of (newbie-ish) questions:

Is this supposed to be a recovery image rather than a boot image? (I flashed it to the boot partition. See note #1 below)

Assuming I'm OK in #1, how do I partition my external sdcard? Can I use gparted on my Linux workstation to do this?

What is the partition layout?

Any tricks required to mount the filesystems (/system, /data, etc)?

Once properly mounted, will (the modified?) TWRP simply flash a ROM as per the normal procedure?

Can adb be made to function in TWRP. (See note #2)

Notes:

# flash_image boot external_sd/i9000_no_internal_sd_boot.img

$ adb devices -l

List of devices attached

???????????? no permissions usb:1-7.2

$ adb shell

error: insufficient permissions for device

A long time ago, I got as far as installing a functional CWM recovery and a boot-looping Semphore kernel. Now, both the recovery and system both boot to TWRP from TWRP.

I have been busy Googling but I'm still not understanding.

Any guidance will be appreciated.
[Galaxy S I9000 Android Development] xc-racer99:
No, its not a recovery image. The recovery image is embedded into the boot.img on most Samsung devices. I think the reason its rebooting to recovery is that its not finding anything else to boot to.

I recommend Heimdall to flash the boot.img. Since you have a linux workstation, this should be easy

heimdall flash --KERNEL boot.img

I've never tried it your way, but it looks like it should work....

With regards to the partitioning, you should ask [MENTION=394546]Nirak[/MENTION] for confirmation. I believe that you need two partitions on the SD card, with the second one being at least 1GB (the first 600MB of it is used for /system, the remaining space is used for /data) I recommend creating it to be between 2GB and 3GB. The first partition is used as /sdcard. gParted should work very well for the partitioning. Again, this is speculation as I don't have an i9000, only a T959P which doesn't have an internal SD. However, the only thing you can harm with this is are the files on your SD card:)

After this, you should be able to flash Omni as you normally would. I would recommend replacing the boot.img in the Omni zip with the one I provided.

ADB should work in recovery, however it does need to be authorized (hence your insufficient permissions error). This involves first booting up the ROM so you're in a bit of a Catch-22 for the moment.
[Galaxy S I9000 Android Development] Nirak:
First you have to partioning the sdcard (at least 8Gb, better 16Gb). EXT4 primary partition of 2Gb (1Gb could be fine, system is about 600/700Mb) and the rest for other primary partition (FAT32).

What i did was flashing the original rom (using Odin) onto the device devided in 3 parts (PDA/MODEM/CSC) and the device specific pit file (mark 'repartition'). Device reboots in recovery mode with errors, factory reset from there. Let it boot up.

After that i've updated in odin to Gingerbread the normal way (one part ROM).

Device boots up normally, but to be sure, factory reset once again.

Now root the device in Odin with CF autoroot and your done fot that part.

Since you have cwm after rooting you can flash Omnirom the usual way, it will replace cwm with TWRP. I've learned that after a few tries the rom installs without errors (keep reflashing....last time i had to flash 4 times in a row, it's fun...;)).

From there on you have your sgs1 running lollipop fairly good, but you don't have acces to your 'external' sdcard. This is where the boot.img comes up...fire up TWRP once again, choose install and switch from 'zip' to 'img' (little tap right down corner), flash and voila.....all is working as it should. Lill slow but he....it's faster then a paper weight...;)

Just lemme know if you need the files i mentioned, then i'll upload them for you.
[Galaxy S I9000 Android Development] Zippy Dufus:
Not very far, yet

Thanks [MENTION=394546]Nirak[/MENTION] and [MENTION=5414656]xc-racer99[/MENTION] for your help. I'm still stuck where I was before.

I got as far as the above steps but when I reboot after flashing with Odin, I get a boot loop with the stock ROM. I only got this far last time that I tried to resurrect this phone too.

I believe that the emmc is not quite dead but very broken so Odin happily flashes to the emmc /system and not to the sdcard. It reboots with a bunch of errors, though. So I flashed the rooted kernel so I can get to CWM and /system cannot be mounted for formatted.

Just for fun, i flashed your boot.img with Heimdall and I am back to the TWRP screen.

I think I need to find a way to kill (brick completely) the emmc.

Two questions:

How would Oden know to repartition the sdcard if the emmc is broken?

Can this phone boot directly from and sdcard like the tablets in my signature can?

Again, thanks guys!
[Galaxy S I9000 Android Development] xc-racer99:
First off, it is definitely possible to boot directly from SD card. I modified the Galaxy S 4G (my phone) to do just that. However, it requires some modifications. I still think we can get your phone working, so try this....

Forget about trying to boot up properly in stock. Go back to the non-booting stock, and then try using Odin to install a custom kernel or, if CF-AutoRoot can be used without booting up (I'm not sure how it works), then go ahead and use that. All you need is CWM recovery. When you're in recovery, mount everything possible using the GUI. Then, since its prior to 4.2, you should be able to get ADB working. Go into an adb shell, and type in the command "mount". If there are entries for both mmblk0(p1) and mmblk1(p1) then your internal SD is not entirely bricked and things get a bit more complicated.... Anyway, post the output of that command along with the output of "ls /dev/block" here.
[Galaxy S I9000 Android Development] Nirak:
Did you use the 3 part ROM and the pitfile in Odin, cuz that's what i think lets Odin redirect to the SDcard.

I never checked if my emmc was totally broken, I just wasn't able to boot and stock recovery mentioned a few mount errors.

My old SGS boots just fine from SDcard.
[Galaxy S I9000 Android Development] Trainer_H:
Does anyone use Xposed with this ROM?
[Galaxy S I9000 Android Development] VENESOLANITO:
Yes, it works very well

1- flash this from recovery without wipe xposed-v71-sdk22-arm-by-romracer-20150816.zip

2- install this apk XposedInstaller_3.0_alpha4.apk

3- install modules , activate modules and soft reset

Note: I think that not all modules work well

excuse my english
[Galaxy S I9000 Android Development] Zippy Dufus:
I now have CWM v6.0.5.0 flashed. It can mount /cache and /datadata but refuses to mount /system and /data (Error mounting {device} )

# mount

rootfs on / type rootfs (rw)

tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)

devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)

proc on /proc type proc (rw,relatime)

sysfs on /sys type sysfs (rw,seclabel,relatime)

selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)

tmpfs on /tmp type tmpfs (rw,seclabel,relatime)

tmpfs on /storage type tmpfs (rw,seclabel,relatime,mode=050,gid=1028)

tmpfs on /mnt/secure type tmpfs (rw,seclabel,relatime,mode=700)

tmpfs on /mnt/fuse type tmpfs (rw,seclabel,relatime,mode=775,gid=1000)

/dev/block/mtdblock3 on /cache type yaffs2 (rw,seclabel,nodev,noatime,nodiratime)

/dev/block/mtdblock2 on /datadata type yaffs2 (rw,seclabel,nodev,noatime,nodiratime)

# ls -l /dev/block

__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!

__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!

__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!

brw------- 1 root root 7, 0 Jan 3 05:30 loop0

brw------- 1 root root 7, 1 Jan 3 05:30 loop1

brw------- 1 root root 7, 2 Jan 3 05:30 loop2

brw------- 1 root root 7, 3 Jan 3 05:30 loop3

brw------- 1 root root 7, 4 Jan 3 05:30 loop4

brw------- 1 root root 7, 5 Jan 3 05:30 loop5

brw------- 1 root root 7, 6 Jan 3 05:30 loop6

brw------- 1 root root 7, 7 Jan 3 05:30 loop7

brw------- 1 root root 179, 0 Jan 3 05:30 mmcblk0

brw------- 1 root root 179, 1 Jan 3 05:30 mmcblk0p1

brw------- 1 root root 179, 2 Jan 3 05:30 mmcblk0p2

brw------- 1 root root 31, 0 Jan 3 05:30 mtdblock0

brw------- 1 root root 31, 1 Jan 3 05:30 mtdblock1

brw------- 1 root root 31, 2 Jan 3 05:30 mtdblock2

brw------- 1 root root 31, 3 Jan 3 05:30 mtdblock3

brw------- 1 root root 31, 4 Jan 3 05:30 mtdblock4

brw-rw---- 1 radio radio 31, 5 Jan 3 05:30 mtdblock5

brw------- 1 root root 31, 6 Jan 3 05:30 mtdblock6

drwxr-xr-x 4 root root 80 Jan 3 05:30 platform

brw------- 1 root root 1, 0 Jan 3 05:30 ram0

brw------- 1 root root 1, 1 Jan 3 05:30 ram1

brw------- 1 root root 1, 10 Jan 3 05:30 ram10

brw------- 1 root root 1, 11 Jan 3 05:30 ram11

brw------- 1 root root 1, 12 Jan 3 05:30 ram12

brw------- 1 root root 1, 13 Jan 3 05:30 ram13

brw------- 1 root root 1, 14 Jan 3 05:30 ram14

brw------- 1 root root 1, 15 Jan 3 05:30 ram15

brw------- 1 root root 1, 2 Jan 3 05:30 ram2

brw------- 1 root root 1, 3 Jan 3 05:30 ram3

brw------- 1 root root 1, 4 Jan 3 05:30 ram4

brw------- 1 root root 1, 5 Jan 3 05:30 ram5

brw------- 1 root root 1, 6 Jan 3 05:30 ram6

brw------- 1 root root 1, 7 Jan 3 05:30 ram7

brw------- 1 root root 1, 8 Jan 3 05:30 ram8

brw------- 1 root root 1, 9 Jan 3 05:30 ram9

drwx------ 2 root root 100 Jan 3 05:30 vold

brw------- 1 root root 253, 0 Jan 3 05:30 zram0

From Odin, I initially flashed:

s1_odin_20100512.pit

CSC_BMCKG3.tar.md5

PDA_UGKG3_Sbl.tar.md5

PHONE_UGKG3.tar.md5

Next I flashed the rooted kernel: KG3-CWM-Kernel.tar

Now I am back to CWM as per above.
[Galaxy S I9000 Android Development] xc-racer99:
Alright, I think we're getting somewhere. However, I must ask another question- did you have a micro SD card inserted when you ran the commands? This is critical as if you did have on in then its not mounted at all. /system and /data are on the internal (corrupted/bricked) memory so its no surprise they're not mounting.

Also, is your phone just an i9000 or an i9000M (or some other variant????). Also, if you can post a link to the kernel you used, I would like to have a look at the source code for it to see how it deals with the external SD card and recovery.
[Galaxy S I9000 Android Development] Zippy Dufus:
Sorry, didn't have the card inserted before. it is now. The card has a 2GB ext4 partition with the label "system" which is shown below and and 14GB fat32 partition labeled "data" which doesn't appear below. The 2GB partition is mounted as /storage/sdcard1.

Also, this is a i19000m variant.

BTW, it is not a big deal for me to get this phone working - I rescued it from my company's garbage bin. I'm just doing this for fun, education, and the chance of getting a beauty Sony Walkman/MP3 player. :)

# mount

rootfs on / type rootfs (rw)

tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)

devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)

proc on /proc type proc (rw,relatime)

sysfs on /sys type sysfs (rw,seclabel,relatime)

selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)

tmpfs on /tmp type tmpfs (rw,seclabel,relatime)

tmpfs on /storage type tmpfs (rw,seclabel,relatime,mode=050,gid=1028)

tmpfs on /mnt/secure type tmpfs (rw,seclabel,relatime,mode=700)

tmpfs on /mnt/fuse type tmpfs (rw,seclabel,relatime,mode=775,gid=1000)

/dev/block/mtdblock3 on /cache type yaffs2 (rw,seclabel,nodev,noatime,nodiratime)

/dev/block/mtdblock2 on /datadata type yaffs2 (rw,seclabel,nodev,noatime,nodiratime)

/dev/block/vold/179:9 on /storage/sdcard1 type ext4 (rw,dirsync,context=u: object_r:sdcard_external:s0,nosuid,nodev,noexec,noatime,user_xattr,barrier=1,data=ordered)

# df -h

Filesystem Size Used Available Use% Mounted on

tmpfs 186.0M 136.0K 185.8M 0% /dev

tmpfs 186.0M 8.0K 186.0M 0% /tmp

tmpfs 186.0M 0 186.0M 0% /storage

tmpfs 186.0M 0 186.0M 0% /mnt/secure

tmpfs 186.0M 0 186.0M 0% /mnt/fuse

/dev/block/mtdblock3 17.5M 2.5M 15.0M 14% /cache

/dev/block/mtdblock2 422.0M 62.5M 359.5M 15% /datadata

/dev/block/vold/179:9 2.0G 67.0M 1.8G 4% /storage/sdcard1
[Galaxy S I9000 Android Development] Nirak:
[MENTION=3651088]Zippy Dufus[/MENTION] (and xc-racer99)

I'm to unexperienced to use and understand adb as you both do, but when i look at the 3 partROM and pitfile i see that you started with flashing Gingerbread, and i used the original FroYo software from the launch of the device. Could that make any difference?

Btw i have the i9000 variant (without the m).

It was a learning and fun process for me as well getting this phone to work again, but when my daily driver's MB had to be replaced lately i was seriously happy to have this one as a backup.

So, if i can do anything that makes you the happy owner of a beauty Sony Walkman ;) just let me know. I can upload the files i used to my Gdrive for you.
[Galaxy S I9000 Android Development] xc-racer99:
I kinda figured as much, but its a neat thing for me to work on. Also I'm assuming i9000M (without the 1 in it...).

Also, I'm willing to bet that this is the TWRP recovery that I sent you. At the very least, its not a stock-based recovery as it has mtdblock's and selinux is compiled in (which was never used until Android 4.3).

What I'm now sure is happening is that the internal memory is not fully corrupted! In the previous "ls -l /dev/block" /dev/block/mmcblk0 still showed up. You can verify that this is the case by looking at "ls -l /dev/block" and seeing if mmcblk1 is there as well. The updater.sh is told to use /dev/block/mmcblk0(p1 and p2). However, these are non-functional on yours. So, edit your zip file again and edit the updater.sh replacing any instances of mmcblk0 with mmcblk1. Then try installing it again and see what happens.

It shouldn't make any difference as to how stock is flashed as it is just overwritten anyway when updating to CM7 or all ICS+. All that is necessary is that CWM is installed and can properly mount the SD cards.
[Galaxy S I9000 Android Development] Zippy Dufus:
No luck!

I modified the ROM in my signature.

Here is the diff showing what I changed in the updater.sh:

78,79c78,79

< MMC_PART1='/dev/block/mmcblk0p1';

< MMC_PART2='/dev/block/mmcblk0p2';

---

> MMC_PART1='/dev/block/mmcblk1p1';

> MMC_PART2='/dev/block/mmcblk1p2';

84,86c84,86

< SD_PART='/dev/block/mmcblk0p1';

< MMC_PART1='/dev/block/mmcblk0p1';

< MMC_PART2='/dev/block/mmcblk0p2';

---

> SD_PART='/dev/block/mmcblk1p1';

> MMC_PART1='/dev/block/mmcblk1p1';

> MMC_PART2='/dev/block/mmcblk1p2';

Attached are:

updater.sh.txt - modified updater scripts pulled from /tmp/updater.sh using adb to confirm that my edited version was used

recovery.log - the log from my flash attempt using CWM.

I also tried:

Flashing from TWRP from the modified boot image - it could not see the ROM zip file in /sdcard1.

Flashing from TWRP from the recovery.img pulled from the ROM (I flashed this with Heimdall too) - it aborted during flashing.

I'm wondering if the problem is a conflict caused to trying to flash a ROM from /sdcard1 while this is also the location where the system image will be written too?

I even tried renaming the ROM to update.zip and side-loading it. This didn't work because the destination of side-loaded files is in /tmp which is not big enough.
[Galaxy S I9000 Android Development] xc-racer99:
Ok, I had a look through your recovery.log and a few things jump out at me.

1) The CWM that you installed is meant for from CM11, not for stock. I would suggest going back to stock with Odin (or Heimdall) including a repartition and flashing bootloaders (making absolutely sure that you're using ones for the i9000M and not any other variant), and then flashing this kernel. While you're at it, take out your micro SD card and delete all partitions on it, then create two primary partitions on it with the second one being the 2GB one. It doesn't matter what you format the second one as as it will be formatted when installing. The first partition should be fat32. Then try flashing with the default zip.

2)The error that "breaks" the install is that something cannot be mounted. I know, kinda useless. There should be more info in omni_mtd.log and bml_over_mtd.log (if you can find them, them should be located in /sdcard (which may or may not be mounted)).

A little bit more on the recovery thing. On stock, first-gen Galaxy S devices used something called BML (block management layer) to structure their internal oneNand. This internal oneNand stores things such as the bootloaders, efs, param.lfs, cache, and system partitions. However, custom ROMs (except some very, very early ones) use MTD as it is faster, easier to customize, and has better wear levelling. Therefore, ROMs (stock and customized) can be either BML or MTD based ROMs. When you were trying to install Omni this last time, the recovery was MTD but the ROM was still BML which probably caused some confusion for the updater script. The way in which you get back to BML is by flashing something using Odin or Heimdall.
[Galaxy S I9000 Android Development] Zippy Dufus:
I'll try going back to stock to make everything clean as well as to get the original rooted kernel with CWM.

I noticed that the ext4/fat32 partitions appear out-of-order and incorrectly sized. After the original recovery log that I posted, I did a little more hacking by stripping out most of /system in the ROM so I could have a reasonably-size "update.zip" which I could side-load. The goal was to see it I could tease it into creating and formatting the correct partitions. I put some debugging "echo" statements in the updater.sh and could trace where it was having trouble and could see that it was expecting a "vfat" partition to mount.

Also, your idea to let the recovery format the partition is probably valid because I formatted with gparted on my laptop because I remember having difficulties in the past on one of my devices where it wouldn't recognize an externally-formatted partition. While hacking at this, I did format the sdcard with CWM but it wiped out both preformatted partitions.

Thanks and I will post back with my progress.
[Galaxy S I9000 Android Development] staoddo:
OmniRom M (6.0) for SGS I9000?

Any news on OmniRom M (6.0) for SGS? :fingers-crossed:
[Galaxy S I9000 Android Development] phil_greg2001:
Hi iyahman,

No little update this month.... :D

Many thanks.

:cowboy:
[Galaxy S I9000 Android Development] ophirb:
I'm really having troubles installing this ROM.

I get error status 7. It seems there is no partition /data.

I tried CWM and TWRP 2.8.7.0.

Any idea how do I solve this?

Thanks
[Galaxy S I9000 Android Development] Basher_52:
I just got an old SGS I9000 and wanted to test this ROM but since I've been 'out of the ROM business' a while and lots of new stuff it out I wonder how to do this.

The first post say this:

uh, OK, but HOW!!!!

I installed ROM Manager and "flashed CWM" but it's still the same old boring recovery in it(Android system recovery <3e>) so I can't use that one.

Either I'm not supposed to use that to get this ROM in this phone or the ROM Manager ain't working properly.

What can I do?

Info of SGS right now:

Firmware version 2.3.6

Baseband version: I9000XXJVU

Kernel version: 2.67.35.7-I9000XXJVU-CL8561880

Build number: GINGERBREAD.XXJVU
[Galaxy S I9000 Android Development] almorabitms:
theme chooser

Salam. Any chance to have theme chooser on Omnirom just like Cyanogenmod based roms
[Galaxy S I9000 Android Development] xc-racer99:
Hmm, if you post your recovery.log and your omni_*.log, then we'll have a better idea of what we're dealing with.

<3e> is the stock Samsung recovery, so no, you don't have CWM. I can't really help you with the ROM Manager aspect of things. I would suggest CF-autoroot which will install CWM for you. Alternatively, you can visit http://xdaforums.com/showthread.php?t=2434225

There were plans for a theme chooser in Omni. However, people got busy with other things. You could try CodeRom, they might have a theme manager.
[Galaxy S I9000 Android Development] almorabitms:
Salam. Code rom dont have a theme manager.. i have alredy install code rom and it dont have a theme chooser .. resurrection lollipop rom have one but the rom is verry laggy....
[Galaxy S I9000 Android Development] ophirb:
I managed to install it.

In TWRP in the wipe menu I selected data and clicked the repair button then on the next screen I clicked change file system and on the next screen I chose ext4. This created the 0artition and from there all went well.
[Galaxy S I9000 Android Development] Basher_52:
thx, xc-racer99, although it took me some time, I had to go through lots of other ROMs and Kernels to get the CWM in, don't ask me why.

So know I'm gonna give this a test, thx again :)
[Galaxy S I9000 Android Development] phil_greg2001:
+1

:angel:
[Galaxy S I9000 Android Development] xc-racer99:
If you're really interested in a new build, I can create one for you guys. It won't have the custom toolchain that Iyahman used but otherwise it will be the same. Encryption should also work....
[Galaxy S I9000 Android Development] phil_greg2001:
It'll be very nice... :good:

Many thanks in advance u'r soo :cool:

:cowboy:
[Galaxy S I9000 Android Development] xc-racer99:
Ok, build created and uploaded. See https://www.androidfilehost.com/?fid=24052804347816512 to download.

Note that I haven't tested it myself as I don't have an i9000 but it runs just fine on my variant.
[Galaxy S I9000 Android Development] nrp31:
If anyone needs a tutorial about Installing this ROM, I have made one for my Galaxy S i9000

Do take a look at it

https://youtu.be/MxtA2Af13zE
[Galaxy S I9000 Android Development] phil_greg2001:
I xc-racer99,

I have flashed your ROM and the internal storage was each time full... I haven't wipe data.

Strange no ?

Many thanks for your work.

:cool:
[Galaxy S I9000 Android Development] althafvly:
Nice ROM. But need to fix bugs. and speedup ROM (y)