broken /sbin/sh - HTC One S

Hello,
There are other unanswered posts that deal with this -- so either this is an issue that stumps or it is a simple fix that I cannot find.
Other posts --
http://forum.xda-developers.com/showthread.php?t=953119
http://forum.xda-developers.com/showthread.php?t=2075580
http://forum.xda-developers.com/showthread.php?t=743778
My posts dealing with this --
http://androidforums.com/one-s-all-things-root/705046-s-off-fail.html
I have done something to /sbin/sh it is no longer a directory -- it is still listed in /sbin but you cannot cd to it.
When trying to install apps with "adb install xxxx.apk" I get /sbin/sh pm not found
When trying to do S-off I get a similar error but saying /sbin/sh su not found.
Does anyone know can this be re written? What happens if I delete SH and attempt to recreate? How do i get the proper SH directory for T-mobile HTC one-s
rooted and super CID
As far as I know I am in a place where I cannot go back to stock because of ruu and radios versions ??? It has been awhile since exploring that route.
I am on Viper V2.1

There is most likely nothing wrong with your sh.
It is supposed to be an executable, not a directory.
Are you doing this in recovery or while fully booted?
I bet you're in recovery and I bet you have to be booted in Android.
An adb shell in recovery is already root. You don't need/have su. Both pm and su are in /system/bin/ when booted in Android, as is sh by the way. In recovery your shell is /sbin/sh (like yours is) and you have no su or pm.
That first and third one probably did the same thing you did. getprop is also in /system/bin/ when booted, and not on the recovery root fs. Their shell is /sbin/sh and not /system/bin/sh so probably in recovery. The second one actually replaced his sh executable with something else.

Thank you.
That is what I was doing and now I have S-off.

Related

ROOTED: adb remount fails ???

ok, so before i reflashed my rooted hero with Modaco on it to stock sprint ROM, all adb commands were working fine, I could easily write a file to phone's system using adb push command.
NOW, after updating and rerooting it,
it won't give me a permission to do adb remount in order to do adb push.
It will still let me get into SU and write a file from there,
for example i'll have to adb push a file to /sdcard/ then get into SU and do cat /sdcard/myfile >/system/myfile and it works fine,
but NOT adb remount!!
Any ideas why this is happening? (thanks)
not sure , but its been confirmed that flash modaco first then then fresh rom and then push to system, btw that's what i did, and im using fresh rom .4 with MR. Working Great here...
matthenry87 said:
try
Code:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
Click to expand...
Click to collapse
I did it, it's a part of the rooting process, and that's wat let me write files within the shell or remove them, but when i exit out to do adb commands it seems like it remounts back to read only mode and doesnt permit to remount from adb remount
I'M HAVINg this same problem. No idea why.
I'm pretty sure this is because the /default.prop file has the permissions set to read only. I've been trying to figure out how to change this, but having no luck with this or other modifications that MoDaCo built into this ROM. started a thread over here:
http://forum.xda-developers.com/showthread.php?t=586630
There's other mods, such as setting up the superuser whitelist app. Hopefully someone with some experience helps us newbie's along.

[Q] LG Optimus V: Stuck on "Waiting for device..." on SuperOneClick

Hey guys, this is my first post, and I just wanted to say first off that all of you who have figured out how to root phones are awesome! Because of xda-developers and androidforums, I helped a friend root and put cyanogenmod 6 on his HTC Hero (cdma).
Anyway, I'm trying to put Zefie's CM7 on my LG Optimus V, and I'm stuck. First off I'm trying to root my phone. I'm following this guide: [How-To] Root the LG Optimus V on Android Central (I'd post the link, but the system won't let me since I'm a new user.). Usually I'd follow the instructions step by step, but I had to make some changes. I see this guide is written for Windows, but I'm running Ubuntu 10.10. After doing a lot of searching I was able to figure out that I had to install the Linux version of the Android SDK and use mono to run SuperOneClick.exe. That part was easy since I have a good knowledge of Linux and how it runs. The part that I'm stuck at is performing a Shell Root. When I click on Shell Root, SuperOneClick is stuck at "Waiting for device..." It's been like this for a while. If I click on Root, it gets stuck at "chmod psneuter..." Either way it's stuck and I don't know what to do.
Just to let you guys know, I have USB Debugging turned on, and I'm running Android version 2.2.1.
When I rooted my friend's HTC Hero, all I had to do was run a downloaded apk onto his SD card and run it, and then it would instantly root it. Is there a similar apk for the Optimus V? If not, is there a way I can manually root it via the terminal? Anyway, I'm stuck and would appreciate any suggestions or comments. Don't forget, I'm running Ubuntu 10.10, so some issues may arise since the tutorial was meant to be run on Windows machines.
Later tonight I'm going to try to root my phone at my friend's house since he has a computer running Windows XP. Hopefully I can get some better progress on his computer instead of mine. Thanks in advance for all your help!
Okay, nevermind. I did a little more searching and found a way to root my phone without running SuperOneClick.exe. I'll post if I have any more problems.
Well I spoke too soon. Here are the steps I followed to get to a # prompt in adb:
./adb push psneuter /data/local/tmp
./adb shell chmod 777 /data/local/tmp/psneuter
./adb shell /data/local/tmp/psneuter
I then did the following commands:
adb shell
mount -o remount,rw -t yaffs2 /system /system
exit
adb push su /system/bin
adb push busybox /system/bin
adb shell
cd /system/bin
chmod 4755 su
chmod 555 busybox
exit
adb reboot
After rebooting the phone, I installed Superuser and TitaniumBackup. I opened TitaniumBackup and it gave me an error stating that it could not acquire root privileges. I know for a fact that my phone has su and Busybox installed on it and have the correct permissions.
What bugs me even more is that when I run su via the adb shell root prompt or a terminal emulator on my phone, it returns the following error:
link_image[1997]: failed to link su
CANNOT LINK EXECUTABLE
What's up with that? I did find out that some people have had issues with Android 2.2.1 on their phone, and unfortunately that's what my phone had when I bought it about a month ago.
Okay, I figured it out finally and have my phone rooted. I had to run SuperOneClick.exe on my buddy's Windows computer. Instead of doing a Shell Root, I just clicked Root and it rooted. Now I'm stuck at figuring out how to do a Nandroid backup. I backed up everything using Titanium Backup, but I know I want to make a backup rom in case something goes wrong during the flash. What are the steps to performing a Nandroid backup?
Lol nevermind. I got Zefie's CM7 up and running this morning.
Nandroid is made using recovery. Glad you got it working
Sent from my VM670 using XDA App
bhambalek said:
Okay, nevermind. I did a little more searching and found a way to root my phone without running SuperOneClick.exe. I'll post if I have any more problems.
Click to expand...
Click to collapse
I am having the same problem as you, can you link me the other method?
EDIT: I do see the instructions in the next post, however where did you find them and get the files?

1.55.531.3 rom?

Hello all.
I looked and can't find but is there a rooted 1.55.531.3 rom for the device anywhere.
Rooted the phone tried the ICS from sensation and kinda want to go back but not unroot.
I could send you my recovery if you have the ability to flash
rooted 1.55.531.3 with clockwork recovery and SU
M9x3mos said:
Hello all.
I looked and can't find but is there a rooted 1.55.531.3 rom for the device anywhere.
Rooted the phone tried the ICS from sensation and kinda want to go back but not unroot.
Click to expand...
Click to collapse
yeah, what you are looking for doesn't exist at the moment. i too thought about making a nandroid of the the new ROM for people to flash, but since the new setup comes with a new radio, new kernel, new HBOOT, etc., i'm not sure how it would fly if someone just flashed the nandroid?
Hboot n radio would be the only thing missing... Kernels sits in recovery....
rooted 1.55.531.3 with clockwork recovery and SU
I know I made a flashable package out of the Google Talk apk file, and either did or meant to make some out of the other apps in it - I'm not sure which thread it's in.
I can check later and link it. Not sure what else anyone did with it, if wifi calling wasn't pulled forward from it I'll have a package for that sometime soon anyway.
I also never did get a chance to check what the gps changes were I remember being in it.
Edit:
Link to Gtalk flashable zip package from that update.
Sent from my Bulletproof_Doubleshot using xda premium
nlarge said:
I could send you my recovery if you have the ability to flash
rooted 1.55.531.3 with clockwork recovery and SU
Click to expand...
Click to collapse
Do you have the stock rom for 1.55.531.3 that I can flash on my mt4gs? I would really appreciate it
http://forum.xda-developers.com/showthread.php?t=1484679
http://forum.xda-developers.com/showthread.php?t=1433805
It would be flashed as if restoring a nandroid. I would flash the above link. If you really want it I can send it
rooted 1.55.531.3 with clockwork recovery and SU
Thanks. Okay, this is where I am:
Unlocked bootloader with htcdev
s-on
hboot 1.45.0013
software 1.55.531.3
Would like to achieve root so that I can flash custom roms/use titanium backup. From what I can tell, nlarge was able to accomplish this. (http://forum.xda-developers.com/showthread.php?t=1474933&page=6). However, couldn't post on that thread because I have less than 10 posts....sorry.
Cannot use temproot (FR3VO) method because says needs s-off and/or adb mount issue:
An error occurred while running the exploit (-1) (errno: 22)
c:\Android>adb wait-for-device
c:\Android>adb remount
remount failed: Operation not permitted
c:\Android>adb shell mount -o rw,remount rootfs /
mount: Operation not permitted
c:\Android>adb shell mount -oremount,suid /dev/block/mmcblk0p23 /data
mount: Operation not permitted
c:\Android>adb shell mkdir /vendor/bin
mkdir failed for /vendor/bin, Read-only file system
c:\Android>adb shell chown root.shell /vendor/bin
Unable to chmod /vendor/bin: No such file or directory
c:\Android>adb shell chmod 755 /vendor/bin
Unable to chmod /vendor/bin: No such file or directory
c:\Android>adb push ./sqlite3 /vendor/bin
cannot stat './sqlite3': No such file or directory
c:\Android>adb push ./su /vendor/bin
cannot stat './su': No such file or directory
c:\Android>adb push ./busybox /vendor/bin
cannot stat './busybox': No such file or directory
c:\Android>adb shell chown root.shell /vendor/bin/su
Unable to chmod /vendor/bin/su: No such file or directory
c:\Android>adb shell chown root.shell /vendor/bin/busybox
Unable to chmod /vendor/bin/busybox: No such file or directory
c:\Android>adb shell chown root.shell /vendor/bin/sqlite3
Unable to chmod /vendor/bin/sqlite3: No such file or directory
c:\Android>adb shell chmod 6555 /vendor/bin/su
Unable to chmod /vendor/bin/su: No such file or directory
c:\Android>adb shell chmod 4555 /vendor/bin/busybox
Unable to chmod /vendor/bin/busybox: No such file or directory
c:\Android>adb shell chmod 755 /vendor/bin/sqlite3
Unable to chmod /vendor/bin/sqlite3: No such file or directory
c:\Android>adb shell busybox --install -s /vendor/bin
busybox: permission denied
c:\Android>adb shell sync
c:\Android>adb shell chmod 6555 /vendor/bin
Unable to chmod /vendor/bin: No such file or directory
c:\Android>adb install ./Superuser.apk
can't find './Superuser.apk' to install
c:\Android>pause
Press any key to continue . . .​
So, I understand, permission denied/operation not permitted, I assume because I don't have root.
When I look at superuser, it says "su binary voutdated" and when I tap to check for updates, automatic update fails and error message "su was not updated. A zip file (su-2.3.1-bin-signed.zip) has been placed on your sdcard, please reboot into recovery mode and flash it to update your su binary.
Can't boot into recovery mode, phone just sits on mytouch 4g slide screen. Again, I assume because no root. Same thing happens if I try to factory reset, just stays on the mytouch 4g slide screen.
Anyone have any suggestions? I am going crazy trying to get this phone to work. I would really appreciate the help!
Flash clock work recovery... I think I linked it somewhere... Or Google will help
rooted 1.55.531.3 with clockwork recovery and SU
Now find yourself a nice recovery image (CWM), boot phone into fastboot mode, "fastboot flash recovery recovery.img".
When this is done you will have a free and open recovery image, and can use that to write/install the su binary and apk (either with flashable zip or through adb shell, either will work).
rooted 1.55.531.3 with clockwork recovery and SU
nlarge said:
Now find yourself a nice recovery image (CWM), boot phone into fastboot mode, "fastboot flash recovery recovery.img".
When this is done you will have a free and open recovery image, and can use that to write/install the su binary and apk (either with flashable zip or through adb shell, either will work).
rooted 1.55.531.3 with clockwork recovery and SU
Click to expand...
Click to collapse
Have tried flashing new and old versions of cwr and the earlier links from blue with no luck. Trying to do it manually through the computer with fastboot, results in 'waiting for device' message. All drivers installed, usb debug, have tried charge only/mount as disk drive options. Neither work. Have tried flashing manually by converting .img to .zip without compression and flashing through phone. No error message but nothing changes.
Cannot use cwm to flash because not error message says not rooted. Not sure what else to do. BTW, you guys are awesome for helping me out Thanks!
Put your phone in fastboot. Pull battery, hold down and power then try again
rooted 1.55.531.3 with clockwork recovery and SU
How to fastboot flash recovery
Return to Contents Page - doubleshot Developers Reference
Boltinghouse said:
Have tried flashing new and old versions of cwr and the earlier links from blue with no luck. Trying to do it manually through the computer with fastboot, results in 'waiting for device' message. All drivers installed, usb debug, have tried charge only/mount as disk drive options. Neither work. Have tried flashing manually by converting .img to .zip without compression and flashing through phone. No error message but nothing changes.
Cannot use cwm to flash because not error message says not rooted. Not sure what else to do. BTW, you guys are awesome for helping me out Thanks!
Click to expand...
Click to collapse
(hah, thanked but meant to hit quote)
What you need to do is go here: http://clockworkmod.com/rommanager
Scroll down the list and find the recovery for our device (5.0.2.7 for the myTouch 4G Slide) - download this.
Put it in the same folder as 'fastboot.exe' on your computer. Rename it to recovery.img
On your phone, turn off 'fastboot' in power options.
Power off the phone.
Now, give it a minute to power off - then hold the volume down button and press power.
Now it will boot up to the hboot menu. The list presented will have you highlighted on the word 'fastboot' - press power to choose this.
Now you are presented with the fastboot menu. It should say fastboot with a red highlight around it near the top.
At this time you should plug the USB cord from your computer into the phone. It will update to say fastboot USB in red highlight now.
-okay-
We have the phone booted up in fastboot, attached to the computer, and ready to work with.
Open up your command prompt, and navigate to the folder where you have the fastboot command. This is the same folder that you have the new clockworkmod recovery.img in from before.
In your terminal now type:
Code:
fastboot devices
This will come back with your device, serial number, and show you it is connected and ready to go. (if it is not something is wrong)
Now type:
Code:
fastboot flash recovery recovery.img
Let's break this down:
fastboot = activates the fastboot.exe command, and says that what's typed next uses the definitions in that fastboot.exe file.
flash = command that says write to
recovery = destination (name of partition) being written to
recovery.img = file written to previously defined location.
----
Since you have the new clockworkmod recovery file in the same folder as fastboot.exe, and you renamed it to recovery.img, then the previously shown command will overwrite your stock recovery with the new image you are providing it.
At this point you should have clockworkmod recovery in place of your stock recovery when you boot the device to hboot menu and select recovery.
Let us know if you have any other problems.
Good explanation blue.... It sounded like he knew what he was doing, hence my quick correction...
Hate typing a lot out from phone!
rooted 1.55.531.3 with clockwork recovery and SU
OMG! Thats awesome. FINALLY ROOTED!!!!! yay! So happy. Thank you guys so much. nlarge and blue, you two are the best!
Thanks again
~Brandi~
Oops... Sorry I called you a he...LOL... Most of us nerds are guys
We help where we can
Boltinghouse said:
OMG! Thats awesome. FINALLY ROOTED!!!!! yay! So happy. Thank you guys so much. nlarge and blue, you two are the best!
Thanks again
~Brandi~
Click to expand...
Click to collapse
rooted 1.55.531.3 with clockwork recovery and SU
nlarge said:
Oops... Sorry I called you a he...LOL... Most of us nerds are guys
We help where we can
rooted 1.55.531.3 with clockwork recovery and SU
Click to expand...
Click to collapse
It's all good, I know being a chick I'm in the minority here. Either way, thank you so much.
So it looks like both nlarge and boltinghouse rooted s-on phones. Is there any reason not to go ahead and root that way? Is there any reason you need/want s-off?
it depends on what you want to do with your phone...
If you just want to be able to make recovery and flash ROMS than you dont need s-off
If you want to play with other stuff(radios and mounts) then you need s-off.
I personally like doing things to my phone so I would like to get to s-off. I am ok with it for now, but S-off will give me the full control I want.
qwerty3656 said:
So it looks like both nlarge and boltinghouse rooted s-on phones. Is there any reason not to go ahead and root that way? Is there any reason you need/want s-off?
Click to expand...
Click to collapse

Can't run adb shell!

hi have this problem...
when i run "adb shell" the output is :
exec '/system/bin/sh' failed: No such file or directory (2)
its normal? ho i can fix it?
some details
tft101g
firm. 9.2.2.6
where are you trying to run the shell from?
i try from ubuntu, arch and win7..
but the problem is on the tab
terminal emulator app crash and in /system/bin there isnt any sh
ps : with my other android i have no problem with adb
If /system/bin has no sh file that's probably the problem.
Try placing sh in /system/bin (I attached it). Should help fix the problem if that's where it exists.
thanks but...this is the core of the problem
with last update i lost the root, ota rootkeeper dont work, so i cant write in system, i don't now how its possibile that i lost sh, but every method for rooting not working now (because adb shell not work).
I stunned by this!! i dont how whar i can do....
Have you tried a factory reset and reinstall, that's about all I can think of to fix adb shell at this point, aside from waiting for a new update that includes it.
you may check /system/xbin in the offchance it was relocated...
factorty reset doesn't help! still not found
and yes i find it in xbin but without root i can cp it
I guess a terminal app would need to specifically look for it in xbin.
I don't know how this would work, I'd say you need to wait for the next OTA.
yeah..
i have download the last update from the asus site, and after the update sh is in the rigth place
Terminal emulator work again
its strange that i can reflash an update that was already installed but...now work and bye asus its time for cocking
tanks to all

[ROOT] LG Optimus Logic (LGL35G)

Update: Friday November 2nd 2012
Fixed a bad upload of the su file, must of become corrupt sorry.
Silly permission bug again, but w/e. LG should know better, from what I am told this is a recently released device. This is a long standing known issue. Lg get your sh*t together.
Directions:
unzip su.zip into the current path (directory) you are in.
adb shell
(while in adb shell)
rm /data/local/tmp/profile_calib_m
ln -s /data/local.prop /data/local/tmp/profile_calib_m
exit
adb reboot
adb wait-for-device shell
(once in the adb shell again)
echo 'ro.kernel.qemu=1' > /data/local.prop
rm /data/local/tmp/profile_calib_m
exit
adb reboot
adb wait-for-device remount
adb push su /system/xbin/su
adb shell chown 0.0 /system/xbin/su
adb shell chmod 6755 /system/xbin/su
adb shell rm /data/local.prop
adb reboot
Once rebooted install superuser from the market:
https://play.google.com/store/apps/details?id=com.noshufou.android.su
As usual thanks for all your work for this GREAT community!!! :good:
Thanks for letting me watch you work & getting root for my wife's phone.
Edit: DroidHost of Androidarea51.com has made a OneClick for this phone using Jcase's root. it also installs a recovery & Superuser all at the same time.
androidarea51.com/***-all-things-
root-***-174/
Help Me Please
what do you do when it says permission denied or not permitted when waiting for device, remounting, or pushing su?
lol now all we need is someone to write different roms :>
cyanogen would be nice :> lol
thank you for rooting this phone :>
jcase, i pmd you i need help please
TechManPro said:
what do you do when it says permission denied or not permitted when waiting for device, remounting, or pushing su?
Click to expand...
Click to collapse
run adb shell
make sure your prompt is a # not a $. If it is a $ start over, if it is a # make sure you run adb remount.
jbach44 said:
lol now all we need is someone to write different roms :>
cyanogen would be nice :> lol
thank you for rooting this phone :>
Click to expand...
Click to collapse
No problem.
You actually left out a step. In order to push su to the phone you have to adb remount -o rw. Otherwise it is a read-only filesystem and it cannot be pushed to the phone. Most people would probably get this, but the novices who end up with bricked phones will be angry.
Great work!
iliekandroid said:
You actually left out a step. In order to push su to the phone you have to adb remount -o rw. Otherwise it is a read-only filesystem and it cannot be pushed to the phone. Most people would probably get this, but the novices who end up with bricked phones will be angry.
Great work!
Click to expand...
Click to collapse
Actually no, you are incorrect.
adb remount without the additional parameters is correct, and not possible of bricking a phone with adb remount. No novice would be angry, because there is not possible brick from this guide, as long as it is followed.
I got the LG for my daughter (13 going on 30), and now it works fine. Thanks jcase.
Did not unlock my lgl35g
Yes I am a Noob... nobody likes me
I have exhausted every resource that I could find on this phone. I thought that this post was the answer to my problem, however it did not seem to help at all. Everything seemed as if it was working fine as I went step by step through the process. However, I rebooted my phone and there is no difference then when I started. The "su.zip" file enclosed in this post was not able to extract into the directory of my ADB client. It kept saying root already existed, but I was unable to see it in windows explorer? Is this "su.zip" a modified version of a pre-existing file in the SDK kit? I really need to unlock this phone so that I can clean up the junk. Any help would be greatly appreciated.
jcase said:
Update: Friday November 2nd 2012
Fixed a bad upload of the su file, must of become corrupt sorry.
Silly permission bug again, but w/e. LG should know better, from what I am told this is a recently released device. This is a long standing known issue. Lg get your sh*t together.
Directions:
unzip su.zip into the current path (directory) you are in.
adb shell
(while in adb shell)
rm /data/local/tmp/profile_calib_m
ln -s /data/local.prop /data/local/tmp/profile_calib_m
exit
adb reboot
adb wait-for-device shell
(once in the adb shell again)
echo 'ro.kernel.qemu=1' > /data/local.prop
rm /data/local/tmp/profile_calib_m
exit
adb reboot
adb wait-for-device remount
adb push su /system/xbin/su
adb shell chown 0.0 /system/xbin/su
adb shell chmod 6755 /system/xbin/su
adb shell rm /data/local.prop
adb reboot
Once rebooted install superuser from the market:
Click to expand...
Click to collapse
anyone know of a way to SIM unlock this device? I have AT&T and would like to use it om there, i bought it for $30 on clist thinking net 10 would work with an AT&T SIM but was wrong, any help would be appreciated...
anyone know of a way to SIM unlock this device? I have AT&T and would like to use it om there, i bought it for $30 on clist thinking net 10 would work with an AT&T SIM but was wrong, any help would be appreciated...
Click to expand...
Click to collapse
What is weird about that is i put the sim in a iphone and it worked just fine!!! Best bet would be ebay for unlock...
I have the Net10 one that I put a Straight Talk SIM in with no problems if I can get my hands on a AT&T SIM today I'll check it out.
---------- Post added at 07:39 AM ---------- Previous post was at 07:34 AM ----------
NateDoggTN said:
Yes I am a Noob... nobody likes me
I have exhausted every resource that I could find on this phone. I thought that this post was the answer to my problem, however it did not seem to help at all. Everything seemed as if it was working fine as I went step by step through the process. However, I rebooted my phone and there is no difference then when I started. The "su.zip" file enclosed in this post was not able to extract into the directory of my ADB client. It kept saying root already existed, but I was unable to see it in windows explorer? Is this "su.zip" a modified version of a pre-existing file in the SDK kit? I really need to unlock this phone so that I can clean up the junk. Any help would be greatly appreciated.
:
Click to expand...
Click to collapse
Did you push the su binary file or the whole folder? If you pushed the whole folder you will have to remove the directory & start over.
how to run root
Sorry for sounding like a noob, but I am...when it comes to LG. im trying to root my homies LG optimus logic but im not sure where to run the command from. if some one could help me out on to where the zip should actullay be placed and unziped to that would be a big help, thanks. and if there is a thread already for this please hook up a link.
thanks
thanks mate for this
i appreciate your time.
Anyone know of a rooted ROM
I have looked all over, but it doesn't look like a dev has created a ROM for this device. Has anyone come across one? If I knew programming I would give it a shot, but it's a mystery to me. I know that CyanogenMod 9 for the L3 (e400) works, but there is a problem with the radios, hence no cellular, wifi, or bluetooth.
Source code......
http://www.lg.com/global/support/opensource/opensource-detail.jsp
http://forum.xda-developers.com/showthread.php?p=34104009
This guy had some success with CM9, but no radio. Anyone know how to extract the radio? I've never built a rom, but this is tempting.

Categories

Resources