[DEV]Gentoo Environment on Android - Atrix 4G Android Development

Deprecated: Please use kholk's method here.
Thanks kholk!
Gentoo Linux
I will be glad to troubleshoot for anybody having problems, and please ask if you are confused concerning directions.
Please leave a reply containing your remarks. The more interest shown, the more development I will be inclined to do.
And the standard:
Warning: I am not responsible for any damage to your phone that occurs due to the application of the following instructions.
That being said, this process is rather straightforward, and should apply to any Unix-based device on the ARM architecture (that includes your phone ).
I used my webtop/lapdock on 2.3.4 and LXterminal (it is nice to have a keyboard).
To gain access to LXterminal, head over here. To actually install LXterminal, follow the instructions here.
If using the webtop, be sure to add "sudo" to the beginning of every line, or just use "sudo -i".
Click to expand...
Click to collapse
Prerequisites:
Root Access
Terminal Access (LXterminal, Android Terminal Emulator, etc.)
You must execute commands from adas (Our Webtop user).
To execute commands from our webtop without LXterminal and such, follow Sogarth's steps up to
...
/usr/bin/sudo -H -u adas bash
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Before we can start working with files, we must allocate a directory for our environment.
I chose to use /data, as the sdcard(-ext) is mounted noexec.
sudo mkdir /data/gentoo
Click to expand...
Click to collapse
Replace /data/gentoo with whatever pleases you.
Next, we must download and extract the appropriate base system file:
You can find the latest stage3 tarball here. I downloaded this to the normal download directory, and notice that I have not cd'd into /data/gentoo, but have chosen to make the destination path /data/gentoo.
tar -xvjpf /mnt/sdcard/download/stage3-*.tar.bz2 -C /data/gentoo
Click to expand...
Click to collapse
We now have the stage3 tarball unpacked inside /data/gentoo. Before we chroot into it though, we must mount the necessary partitions.
Note: Some directories may be missing. If that is the case, feel free to make them...
sudo mount -t proc none /data/gentoo/proc
sudo mount -o bind /dev /data/gentoo/dev
sudo mount -o bind /usr/portage /data/gentoo/portage
sudo mount -o bind /usr/src/linux /data/gentoo/usr/src/linux
sudo mount -o bind /lib/modules /data/gentoo/lib/modules
sudo mount -o bind /sys /data/gentoo/sys
sudo cp /etc/resolv.conf /data/gentoo/etc/resolv.conf
sudo mount -o bind /tmp /data/gentoo/tmp
Click to expand...
Click to collapse
I am much too lazy to write that out every time I reboot my phone. Feel free to either make a bash script, or do what I did and add the lines above to /etc/rc.local.
Click to expand...
Click to collapse
Finally we can chroot:
sudo chroot /data/gentoo /bin/bash
Click to expand...
Click to collapse
You should now be in our Gentoo environment. If not, feel free to explain your situation, and I will do my best to troubleshoot, but keep in mind that I am not a seasoned developer, and certainly nothing to parallel the expertise and dedication of all of our wonderful developers who have made this possible in the first place.
See post #2 for instruction on installing Portage.
See post #3 for an FAQ and extra configuration.
If Busybox includes the necessary commands to install outside of our webtop/Ubuntu partition, please tell! =)
The hope is that after enough playing around, I'll be able to replace the webtop with Gentoo...maybe implementing AIW, but we'll see...
Thank you XDA Devs for making this possible!
Screenshots for those who are skeptical 0.o (or curious) are attached. I do not recommend emerging gentoo-sources as I did in the screenshot...

Installing Portage
Installing Portage
Assuming that our initial install is working properly, and provided that we have proper access to the internet, we can begin to install Portage.
To download the latest portage snapshot:
http://mirrors.kernel.org/gentoo/snapshots/portage-latest.tar.bz2
Click to expand...
Click to collapse
Next, we must extract our snapshot:
Note: If in your Gentoo enviroment, extract to /usr/portage instead.
tar -xvjf portage-latest.tar.bz2 -C /data/gentoo/usr/portage
Click to expand...
Click to collapse
Click to expand...
Click to collapse
In /etc/make.conf, please add:
FEATURES="-userfetch"
Click to expand...
Click to collapse
Once this is complete, we can sync portage:
emerge --sync
emerge --oneshot portage
Click to expand...
Click to collapse

I can't resolve DNS while in Gentoo!
We need to be sure that Gentoo is using the proper nameservers, so from an Android terminal (not webtop):
getprop
Click to expand...
Click to collapse
A few lines up from the bottom, you should see:
[net.dns1]: [xxx.xx.xxx.xxx]
[net.dns2]: [xxx.xx.xxx.xxx]
Click to expand...
Click to collapse
Replace the DNS servers in /data/gentoo/etc/resolv.conf with the values "xxx.xx.xxx.xxx", and any connection issues should be resolv'ed (geddit?).
Optimization (that's why we have Gentoo, right?)
Inside of your Gentoo enviroment, open up /etc/make.conf:
Compiling with two cores:
MAKEOPTS="-j3"
Click to expand...
Click to collapse
Download packages while emerging:
FEATURES="parallel-fetch"
Click to expand...
Click to collapse
Click to expand...
Click to collapse

The more developers the merrier!
Welcome to the Atrix forums!
I can't wait to use Gentoo on my Atrix!
Cheers!
Sent from my Atrix using Tapatalk

Looking forward to your next steps.

Thank you for the positive feedback. I will continue my experimentation, as I see this as very promising for the future.
Sent from my Gentoo-enabled Atrix

Some screen captures would be great.
Cheers

Great! Lemme try...
Sent from my MB860 using XDA Premium App

Was is the advantage to run this instead of Debian or Ubuntu in a LapDock environment?
Cheers

pederb said:
Was is the advantage to run this instead of Debian or Ubuntu in a LapDock environment?
Cheers
Click to expand...
Click to collapse
First off WELCOME AND THANKS!
+1 to quote. The screenies will probably help that though ^_^
posted via app on Atrix in lapdock running 2.3.4

this is legit!

a "damnsmalllinux" webtop would rock. only 50 mb in space and it has tons of useful apps already

Anyone mind telling a noob what a Gentoo environment is?

wget is not in the default webtop so I did the wget inside the chroot gentoo
I tried this and it did not work
tar -xvjf portage-latest.tar.bz2 -C /data/gentoo/usr/portage
I had to do this instead
tar -xvjf portage-latest.tar.bz2 -C /usr/
I also choose to install in /osh/gentoo instead of /data/gentoo
also in the first post you could add some sudo commands in some of the instructions also
I will let edit this post if I have more feedback

Pizza4Breakfast said:
Anyone mind telling a noob what a Gentoo environment is?
Click to expand...
Click to collapse
Think of it this way.
Using/installing Ubuntu is like buying a car. It may have a few features you'll never need or use, and might need to have a couple features added as aftermarket parts.
Using/installing Gentoo is like buying a pile of sheet metal, a few rubber trees, small pile of copper, a pile of sand, and an oil well. Then you have to cut and fabricate the car's body from the sheet metal, extract the rubber from the trees, then use that to make the tires and all the seals on the car. Use the pile of copper to make all the wires, and use the leftover rubber(you did save the scraps didn't you) to make the insulation. Melt down the pile of glass to make the windshield, side and back windows, also the headlights and lights themselves. Then you need to extract the crude oil from the well to refine your own engine oil and gas. In the end, you have a car created to your exact specifications (if you know what the hell you're doing) that may or may not be any better than just buying a car off the lot.

barry99705 said:
Think of it this way.
Using/installing Ubuntu is like buying a car. It may have a few features you'll never need or use, and might need to have a couple features added as aftermarket parts.
Using/installing Gentoo is like buying a pile of sheet metal, a few rubber trees, small pile of copper, a pile of sand, and an oil well. Then you have to cut and fabricate the car's body from the sheet metal, extract the rubber from the trees, then use that to make the tires and all the seals on the car. Use the pile of copper to make all the wires, and use the leftover rubber(you did save the scraps didn't you) to make the insulation. Melt down the pile of glass to make the windshield, side and back windows, also the headlights and lights themselves. Then you need to extract the crude oil from the well to refine your own engine oil and gas. In the end, you have a car created to your exact specifications (if you know what the hell you're doing) that may or may not be any better than just buying a car off the lot.
Click to expand...
Click to collapse
Nice ......
Emphasize know what the hell you are doing. If you have to ask, don't try it, or follow my signature .

joe ferreira said:
wget is not in the default webtop so I did the wget inside the chroot gentoo
I tried this and it did not work
tar -xvjf portage-latest.tar.bz2 -C /data/gentoo/usr/portage
I had to do this instead
tar -xvjf portage-latest.tar.bz2 -C /usr/
I also choose to install in /osh/gentoo instead of /data/gentoo
also in the first post you could add some sudo commands in some of the instructions also
I will let edit this post if I have more feedback
Click to expand...
Click to collapse
That is correct, thank you. While chrooted, you are restricted (more or less because of the mounts) to choosing the appropriate directories based on the mount. More simply put, you can not access /data (or whatever your mount point may be) from the mount. It would be like...trying to access the parent directory of the root of your hard drive...I suppose. I suppose I should also check if Busybox has the necessary commands to preform the install without accessing the Ubuntu install...

hey man, i tried something similar on my own, just by prebuilding the stuff over and usb sdcard adapter on a gentoo machine, than put the sdcard into the atrix, mounted it to /home/adas/gentoo did the proper mounts chrooted over and emerge --sync works, ping random domains/addresses works too, but if i do emerge -v system i get an error that it cannot download the sources, says the servers are unreachable.... any ideas ?

crnkoj said:
hey man, i tried something similar on my own, just by prebuilding the stuff over and usb sdcard adapter on a gentoo machine, than put the sdcard into the atrix, mounted it to /home/adas/gentoo did the proper mounts chrooted over and emerge --sync works, ping random domains/addresses works too, but if i do emerge -v system i get an error that it cannot download the sources, says the servers are unreachable.... any ideas ?
Click to expand...
Click to collapse
It's a problem with your sources mirror. Sync uses rsync against servers operated by Gentoo. You then download the source code from a different server called a source code mirror. Change that.

what's the benefits of gentoo?
What is the best for atrix?
Gentoo? Ubuntu? Debian?
Sent from my MB860 using XDA App

Related

Ubuntu.sh

located at /osh/ubuntu.sh
Code:
#!/bin/sh
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
chmod 666 /system/usr/keychars/*
rm -f /tmp/tab*
mkdir -p /home/adas/Desktop
chmod 755 /home/adas/Desktop
chown -R adas.adas /home/adas/Desktop
[ -x /usr/bin/firefox-install-profile ] && /usr/bin/firefox-install-profile
/etc/init.d/rc S
chmod 666 /dev/socket/dbus
chmod 666 /dev/null
/etc/init.d/rc 2
cp /sdcard/*.lic /data/
chmod 666 /data/*.lic
I'm still an amateur, but I'm trying to find stuff
Yeah I found that last night too.. The OSH folder seems to be the Ubuntu filesystem pretty much. I am messing around in it as we speak. Loading up Linux right now and gonna test a few things. If i find something, ill post it back on here
So forgive me for asking, but to make sure: does this mean the Atrix Webtop OS is a customized version of Ubuntu? If so, that's pretty awesome; let's hope dpkg is on it!
From what I am seeing so far, it is pretty much a customized version of Ubuntu and if all goes well. We will be able to install what we want on it. Just gonna take some time to completely figure the entire thing out..
Just a bit of good news.. Its not looking very difficult to make it allow you to run the webtop OS by plugging in the USB cable to a computer.. Won't know if it works until I get home tonight and give it a try.. Steps closer.....
if you load up firefox from a webtop dock or laptop dock and go to "About" it says Firefox for Ubuntu. So that's at least telling us something.
So now really what we need is replace firefox with chrome
AstainHellbring said:
So now really what we need is replace firefox with chrome
Click to expand...
Click to collapse
Correct me if I'm wrong, but that's impossible. While the phone may be running Ubuntu, it's still running it from an ARM processor which means that one would need Chrome compiled for ARM.
Is there a way to get a dump of the entire /osh/ folder? I'd like to see what I can do with it.
note that apt/sources.list in the osh partition includes a mirror of the stock ubuntu jaunty for arm port, as well as a custom webtop mirror. Both point to an internal 10.x url (doh), but this looks like a stock ubuntu with some webtop additions. Should be nice!
Anyone able to launch the webtop environment with a HDMI cable/bluetooth keyboard/mouse?
/osh/var/lib/dpkg
There's a folder with various files in it.. So I assume if we get the arm port of dpkg we could simply add it to /osh/bin..
What's the best way to get a dump?
so I am curious if the /osh only exists in webtop mode, could anyone own a Atrix check and get a dump of that dir or all things in / dir?
Ubuntu DUMP
Thanks to USKR posting this dump in another thread. We can all DIG IN!
http://www.usk.bz/android/ubuntu.img.bz2
sexydroid said:
so I am curious if the /osh only exists in webtop mode, could anyone own a Atrix check and get a dump of that dir or all things in / dir?
Click to expand...
Click to collapse
/OSH exists at all times. It exists on my phone and I don't own a dock

[Dev Only] Lets Get a Fully working version of Jaunty Starting With apt-get

OK now that the first hard part is over (getting Webtop running with out dock) now its time to push this to the limits ... I am Currently working on getting apt-get installed and running on Jaunty ... I would love to get some help with all this, obviousy this wont replace my laptop or Desktop, but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket... so lets keep up the good work and push forward, CHARGE !!!
FIRST try and fail... prayed it would be as easy as pushing apt-get to /system/bin and executing ... it was not ... well not with this try anyhow getting a apt-get: cannot execute binary file error
Open a second adb shell and monitor dmesg | grep TOMOYO to see if the MAC is preventing you from executing files not listed in the policy. I had to muck around with it earlier today to get it to run lxterminal.
agentdr8 said:
Open a second adb shell and monitor dmesg | grep TOMOYO to see if the MAC is preventing you from executing files not listed in the policy. I had to muck around with it earlier today to get it to run lxterminal.
Click to expand...
Click to collapse
will do !! first thing im doing right now is installing a virtual machine jaunty on my machine to compare and test with figure that will be the most helpful !!
Anyone working on this, be very careful, as the default adbd location is in /sbin, which symlinks to /osh/sbin.
Its possible to use adb to interact with the webtop, its probably easier for these initial command line stages too.
t0dbld said:
FIRST try and fail... prayed it would be as easy as pushing apt-get to /system/bin and executing ... it was not ... well not with this try anyhow getting a apt-get: cannot execute binary file error
Click to expand...
Click to collapse
Why did you have to push apt-get to the box? apt and dpkg are already there.
I had this earlier, but reverted due to problems (I tried to uninstall rootfs). The first thing that needs to be taken care of is missing package dependencies, and file collisions. The package rootfs provides the functionality of the packages that are missing, but apt doesn't know that.
Also, consider moving /usr to the /data partition to save space. /osh is pretty cramped as is, and resolving the dependencies will fill it up pretty quickly.
droidbird said:
Why did you have to push apt-get to the box? apt and dpkg are already there.
Click to expand...
Click to collapse
I saw a dpkg something cant rmember but wasnt the same thing i see no apt-get either. Also even when running in root apt-get did not exist i used echo $PATH Folowed it and did not see any apt files. If i am wrong and you kniw of there existence and how to make them execute please inform us all as if we have a working apt-get well its all but over
t0dbld said:
I saw a dpkg something cant rmember but wasnt the same thing i see no apt-get either. Also even when running in root apt-get did not exist i used echo $PATH Folowed it and did not see any apt files. If i am wrong and you kniw of there existence and how to make them execute please inform us all as if we have a working apt-get well its all but over
Click to expand...
Click to collapse
it's already there:
Code:
[email protected]:/osh/usr/bin# ./apt-get moo
./apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
but /osh/etc/apt/sources.list has garbage mirrors listed... They point to 10.77.32.150, which is obviously not a real IP. You could try commenting out what's in there and add in a working jaunty repo.
If you're going to use dpkg to install .debs manually, remember that they'll need to be compiled for arm processors.
Unfortunately my PC monitor doesn't do HDMI, so I can't run webtop right now. I'll play around more tomorrow when I can hook up my atrix to the TV
t0dbld said:
I saw a dpkg something cant rmember but wasnt the same thing i see no apt-get either. Also even when running in root apt-get did not exist i used echo $PATH Folowed it and did not see any apt files. If i am wrong and you kniw of there existence and how to make them execute please inform us all as if we have a working apt-get well its all but over
Click to expand...
Click to collapse
Apt and dpkg have been verified in this forum to be there for a week, search gets us that as well as some of the dependency issues.
Think about what you are suggesting
Be mindful that when pointing people down the road of running apt and dpkg that the very first thing they should have is a way to recover to stock. It is quite possible and likely that running apt-get or dpkg that you may twiddle some bits on your /osh partition that make webtop fail or unusable.
Have a backout method
At minimum, I would grab a dd of your /osh partition or one from here in the forums and keep it around. In addition, I would suggest you have a way to execute dd (if that is the route you choose to go for backup) outside of the /osh partion in the event you screw /osh up and need to dd back the old working /osh. Is the dd in /bin statically linked? If so, then the plan can be as easy as copying dd to some other partition where it can be executed from. If it is not static, you need one that is or a runtime environment where it can execute.
Have a plan
Why are we trying to get apt working? Is there some goal besides filling up /osh's remaining 77MB of space?
I'll start with a couple of options:
We want a working apt so we can install a less heavy browser than firefox.
We want to be able to replace the awn launcher with something snappier and that does not require compositing, again lowering memory usage and increasing performance.
A working dependency resolving package manager is "the right thing(tm)" to do as opposed to running around with zip files. Zip file are no way to keep a working system.
Exploring and discovering is cool and very fun, but either heading that direction or suggesting others do without a plan is to invite disaster.
If you change sources.lst, please make sure you use ARM repos and not x86 repos. X86 software will break the Webtop if you load it.
For anyone that wants to try, here is the correct repo to use:
Code:
deb http://ports.ubuntu.com/ jaunty main security universe multiverse restricted
Always make sure /osh can mount on boot, and that /osh/sbin/adbd remains intact. Without it, you have no way of recovering
perkz said:
it's already there:
Code:
[email protected]:/osh/usr/bin# ./apt-get moo
./apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
but /osh/etc/apt/sources.list has garbage mirrors listed... They point to 10.77.32.150, which is obviously not a real IP. You could try commenting out what's in there and add in a working jaunty repo.
If you're going to use dpkg to install .debs manually, remember that they'll need to be compiled for arm processors.
Unfortunately my PC monitor doesn't do HDMI, so I can't run webtop right now. I'll play around more tomorrow when I can hook up my atrix to the TV
Click to expand...
Click to collapse
well i stand corrected, thank you sir.... although mine doesn't execute, still the same error:
./apt-get: cannot execute binary file
Are you sure you were in /usr/bin when you ran ./apt-get since you were specifiying that it execute from the current directory? Failing that, were you root and/or you might need to adjust your TOMOYO settings, but mine executes just fine as root as long as it is in the path and my /osh is fairly stock outside of the TOMOYO settings I have mucked with and a couple of other changes like adding a password for adas. If you still have problems, can you reload your /osh and start fresh?
i was in right dir , i am reboot it all now and will start over
Suggestion to anyone working this, take a dd copy of /dev/block/mmcblk0p13, and use losetup to mount it on /osh when experimenting.
Edit: the kernel lacks a loop device, working on that now.
t0dbld said:
OK now that the first hard part is over (getting Webtop running with out dock) now its time to push this to the limits ... I am Currently working on getting apt-get installed and running on Jaunty ... I would love to get some help with all this, obviousy this wont replace my laptop or Desktop, but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket... so lets keep up the good work and push forward, CHARGE !!!
Click to expand...
Click to collapse
When you say " but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket" do you mean being able to run Jaunty on just the phone itself, not hooked up to a dock? Or do you mean hooked up to a dock, just Jaunty replacing Webtop?
BravoMotorola said:
When you say " but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket" do you mean being able to run Jaunty on just the phone itself, not hooked up to a dock? Or do you mean hooked up to a dock, just Jaunty replacing Webtop?
Click to expand...
Click to collapse
well i dont own a dock but i do not plan on running jaunty on a 4" screen
t0dbld said:
well i dont own a dock but i do not plan on running jaunty on a 4" screen
Click to expand...
Click to collapse
Yea thats what I thought. That would be sweet though. People think I'm crazy when I run Win95 on my phone, I think it's awesome though. So Jaunty or just Webtop IMO would be REALLY awesome to run on the little 4 inch screen! But most people just think it's a stupid, and pointless idea
shawnbuck said:
Suggestion to anyone working this, take a dd copy of /dev/block/mmcblk0p13, and use losetup to mount it on /osh when experimenting.
Edit: the kernel lacks a loop device, working on that now.
Click to expand...
Click to collapse
The loop devices are in /dev/block/loop[X].

install ubuntu 12.04 on HP Touchpad

hi all. i'm new in android and i dont like that,
many person can install ubuntu 12.04 on TouchPad. but i cant.
how can help me for installing that ( doual Boot).
in android os.after entring this command:
Code:
cp 4GBPartition.sh /tmp
that say:
Code:
/tmp - Not a directory.
i have tmp in root directory but i cant access into that.
Code:
-rw-rw-rw- root root 1824 DATE TIME tmp
after entering this command:
Code:
ls -d */
i cant see tmp in list and i cant create that
i have this problem now:
Code:
/system/bin/sh: cd /tmp - Not a directory
1) Boot on Webos
2) Install preware (many docs on google)
3) open xecutah, then xterm
4) cd /media/internal
5) cp 4GBPartition.sh /tmp
6) cd /tmp
7) sh /tmp/4GBPartition.sh
Click to expand...
Click to collapse
Be carefull... This PORT of Ubuntu isn't for beginners... It's not like your desktop PC, many thing don't work..
Mystikal57 said:
Be carefull... This PORT of Ubuntu isn't for beginners... It's not like your desktop PC, many thing don't work..
Click to expand...
Click to collapse
then can i use keaybord usb and mouse usb?
can i install libreo office - firefox?
tux-world said:
then can i use keaybord usb and mouse usb?
can i install libreo office - firefox?
Click to expand...
Click to collapse
OK I'm not trying to be rude here but you started a new thread that is a little misleading in the title to ask for help that you already asked about in the other thread? This is not a novice install... The instructions are clear, if you can't get it installed by following the clear guide... You may not want to install this. Sorry Devs but when you take your time to make CLEAR guides for us... yet people can't follow instructions then spam.It irritates me.
kicker22004 said:
OK I'm not trying to be rude here but you started a new thread that is a little misleading in the title to ask for help that you already asked about in the other thread? This is not a novice install... The instructions are clear, if you can't get it installed by following the clear guide... You may not want to install this. Sorry Devs but when you take your time to make CLEAR guides for us... yet people can't follow instructions then spam.It irritates me.
Click to expand...
Click to collapse
The instructions may be clear, but are almost always only available in English. XDA is international and judging from his sentences, English is probably not his primary language.
It bothers me too when people create pointless threads (esp with misleading titles). I try to imagine myself on a non-English forum, desperate for help. Even with Google translate, I doubt I could make sense of their rules or "clear" guides.
エイトリックス から 送ります
in install progress that ask you must press 0 or 1, after downloading and install kernel of ubuntu , what key must be pressed?
i dont see any line like umount. i see data lose :|
message is this:
Code:
Repartition to create ext3 volume for Ubuntu.
umount: can't umount /media/internal:Invalid argument
Did the pervious line say somthing about not being able umount /media/internal? if so, press 1, otherwise press 0.
DO NOT PRESS 0 IF DID SAY SOMTHING; THIS CAN LEAD TO DATA LOSS! If it did say somthing,reboot and try again.
after reboot i see this line. external memory may be data loss?

[GUIDE]BackTrack 5 Chroot (Backtop2)

[Project dormant unless someone else picks it up]
NOTE: This is a chroot for the Webtop, not the Android+VNC chroot method.
Hi everyone, this is my first guide (I'm not sure I can call it that yet, or if this is in the right section) so bear with me.
I tried the Debian chroot guide (http://forum.xda-developers.com/showthread.php?t=1093790), and I really liked the idea, but I had too many apt-get issues and it often crashed my Webtop, so I tried building my own Ubuntu Lucid chroot using rootstock, but internet didn't work.
I later saw this: http://forum.xda-developers.com/showthread.php?t=1184161, but the links were dead and the scripts it referenced were out of date. I'll sort of combine the two guides here since Backtrack actually works surprisingly well.
Just on a side note though, I haven't fully tested the Backtrack tools, but the only thing I haven't found to work are the wireless tools.
Let's start!
Required:
-Rooted Atrix (with Blur based ROM)
-LXTerminal installed on Webtop
-Enough free space (around 4 GB just for room)
-7-Zip
-Some Linux/Unix distro native or in a VM
1. Install the easy-signed.zip from the Debian chroot guide:
http://forum.xda-developers.com/showthread.php?t=1093790
but the other files aren't needed.
Make a folder called WebTopMOD (case-sensitive) on either external or internal memory for later.
2. Look here for reference: http://forum.xda-developers.com/showthread.php?t=1184161, but the links are dead. Active links are here:
Part 1: http://www.mediafire.com/?x9cgxzdx84vc6uj
Part 2: http://www.mediafire.com/?xaoidipkg1o7vgo
Part 3: http://www.mediafire.com/?po3nznbxgvdipur
Use 7-Zip to uncompress the three files (called bt.7z.001,002,003) and you'll get a bt.img.
Full bt.img in a zip:
DL from Mega or from Google Drive
3. The image isn't usable in this state yet, since the image is formatted with ext2, and we need ext3.
Copy the image over to your Linux VM or computer on a easy-to-find directory, and open up a Terminal window (usually CTRL+ALT+T).
In Terminal, type this in:
Code:
cd <directory where you put bt.img>
mkdir tmp tmpbt
sudo mount -o loop bt.img tmpbt
dd if=/dev/zero of=linuxdisk count=0 bs=1MB seek=4096 (This is the size of the chroot image you want, in MB)
mkfs.ext3 linuxdisk (just type y when it asks)
sudo mount -o loop linuxdisk tmp
sudo cp -rf tmpbt/* tmp
sudo umount tmp
sudo umount tmpbt
[Sorry, made a mistake twice] Copy the newly made linuxdisk file to a directory named WebTopMOD on your internal memory or sdcard-ext (folder and file names are case-sensitive).
4. Start Webtop, then open LXTerminal, then start the chroot by typing in:
Code:
/usr/sbin/linux
and after it loads for a bit, you'll get an xterm window with the shell for Backtrack!
If you want to quit the Gnome session, closing xterm doesn't work, since by issuing the commands to kill the webtop processes, it also kills the webtop window manager, and if you do close it there's some kind of weird glitch with a small popup window constantly disappearing and reappearing. (It'll be a WIP for now I guess, the only full solution is to reboot your Atrix). It seems to have to do with the way the linux command mounts the chroot disk under loop50, I'll try and make something to fix this later.
-----------------Extras moved below-----------------------
Pictures:
Chromium Running
BT Desktop (Gnome)
BT Desktop with AIW
THANKS TO:
k.taylor89 for the original Backtop Method
SystemR89 for the Debian chroot and scripts to make this work
The original developers of the Backtop chroot image
And any others I may have forgotten!
Extras:
If you want a GUI (Gnome):
k.taylor89 said:
You first need to kill off all the webtop crap do this by typing the following in xterm.
"ps ax|grep awn|awk '{print $1}'|xargs kill"
"ps ax|grep panel|awk '{print $1}'|xargs kill"
Then start gnome by typing "gnome-session" in xterm.
Click to expand...
Click to collapse
If you want to take it step further and start Gnome after bootup, this isn't a full solution yet but you could edit your start-oshwt-1.sh and 2 scripts so that the chroot automatically starts on bootup without anything else in Webtop, and from there start gnome-session. I'm testing that now.
Installing Apps:
Since this is based off of Ubuntu Lucid, you can install anything from the Lucid repos, you just have to fix the sources list since the Backtrack sources don't seem to work.
Code:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old (Backup just in case)
sudo nano -w /etc/apt/sources.list
Comment out (#) any line with the backtrack servers, and uncomment any line with the Ubuntu repos.
Press Control+X, Y, then Enter, then run apt-get update to update the repos.
Apps like Chromium install and run without a hassle (just run apt-get install chromium-browser), but I actually get the error "Bus error" for some reason when Chromium remains idle, it seems to be an unsolved bug in the version of Chromium for armel devices in the Lucid repos, if anyone else has a fix, please do tell.
First.
I think its only for lapdock ..........
3n3rg1c said:
First.
I think its only for lapdock ..........
Click to expand...
Click to collapse
Oh sorry yeah I forgot to mention that. I mean I guess if you have the mod that lets you use Webtop anywhere, that'll work too.
Hi,
The "Part 3: http://www.mediafire.com/?po3nznbxgvdipu" doesn't work.
Could you fix it.
Thank you.
sintoo said:
Hi,
The "Part 3: http://www.mediafire.com/?po3nznbxgvdipu" doesn't work.
Could you fix it.
Thank you.
Click to expand...
Click to collapse
Oh sorry I copied the link incorrectly, updated in OP.
i've gotten it running on my ubuntop model, when i ran it from the terminal it would not give me any issues when closing it back up. is there a way to only launch the gnome panel? running: gnome-panel in the terminal didn't work
etruj said:
i've gotten it running on my ubuntop model, when i ran it from the terminal it would not give me any issues when closing it back up. is there a way to only launch the gnome panel? running: gnome-panel in the terminal didn't work
Click to expand...
Click to collapse
I'm not sure if there is a way to start just gnome panel because of the way the chroot is implemented, since to run gnome-panel, an X session must already be running within the chroot and I need to figure that out.
My first two times i lUnched the session the wallpaper would flicker and then just the panels would come up. Now i get hit with the errors and loop pop ups. Maybe there is a way to launch the session then kill everything but the panel?
Sent from my MB860 using xda app-developers app
etruj said:
My first two times i lUnched the session the wallpaper would flicker and then just the panels would come up. Now i get hit with the errors and loop pop ups. Maybe there is a way to launch the session then kill everything but the panel?
Sent from my MB860 using xda app-developers app
Click to expand...
Click to collapse
The workaround I found worked so far was to modify the start-oshwt-2 script so that it would run a very slightly modified version of the script that automatically starts gnome-session (gnome-panel alone is really stubborn, still haven't figured that out) and doesn't start whatever window manager in WebTop to avoid flickering errors and panel only errors (but of course you don't have access to anything from the actual WebTop, but you could also have start-oshwt open a Terminal window from WebTop too).
Can you attach the script?
Sent from my MB860 using xda app-developers app
etruj said:
Can you attach the script?
Sent from my MB860 using xda app-developers app
Click to expand...
Click to collapse
Just rename it to linux, and copy it to wherever you like on your Atrix. You can also copy it to a directory within your terminal path.
This isn't my script, it's from the Debian chroot, just modified to automatically start gnome-session (credit to SystemR89)
You might need to chmod +x the file.
Also, if you want to start it automatically from start-oshwt-2.sh, make sure you copy the file to a directory within the terminal path, and add the line
Code:
sfalv -i "linux"
and comment out any other line that starts a different X window manager.
running "sudo gnome-panel" gives me the panel while staying inside the original ubuntop. i think i can just swap out that one line in your script to get it working. thanks! also noticed my chrome crashes after a few minutes, ill post the error code and screen grabs soon but was wondering if you ever experienced anything like it?
etruj said:
running "sudo gnome-panel" gives me the panel while staying inside the original ubuntop. i think i can just swap out that one line in your script to get it working. thanks! also noticed my chrome crashes after a few minutes, ill post the error code and screen grabs soon but was wondering if you ever experienced anything like it?
Click to expand...
Click to collapse
Yes, in fact. It's a bus error, and I tried to fix it, but the fix doesn't work (and it only seems to affect Chromium).
Sorry for bumping such an old thread, but I was wondering if anyone wanted to take this project over, since I don't have an Atrix anymore and don't have anything to work with.
Thanks.

A pure C implementation of 'cuber' using OpenSSL's BigNum library

In case anybody cares, here's a pure C reimplementation of 'cuber.py'
(my own earlier reimplementation of @vortox's signature.py).
This is what I'm using in my '1-Click' bootloader unlock VM...
See 'grep ^gcc' for "build instructions".
Hack, you can probably build this for ARM and run it right on your very HDX tablet... (-;
UPDATE (JanuaryFebruary 2017):
OK; so, @zivimo had built this for ARM, but people still haven't noticed.
I repacked his binary from a .tar.gz to a .zip archive and decided to spell out the instructions for use.
Perhaps, this helps... With the right bootloader in place, and adb/fastboot installed (and working),
the unlock is as easy as follows...
Download and extract unlock.zip (SHA256: e40e3010f8eccfa9cbd1e73eecac30cf799099d183de23b2d256fc3407f143f6e5db0b8d82c8fd2a25a22b0a598014d22a2ec33cef27a8d4b65a36acde08f27a)
to the same directory that holds the adb and fastboot executables (unless you have added them to your PATH)
Click on get_code.bat in the extracted folder
-- optional (but commonly required) step(s) --
fix root (roll back, if you need to), flash vulnerable bootloader
[you'll definitely need to perform at least some of these if the last step fails]
Click on unlock.bat in the extracted folder
The archive also includes .sh variants of the .bat files for convenience.
You could also just click to show the hidden section and cut&paste... (-;
Code:
[STRIKE]unzip cuber.zip[/STRIKE]
adb push cuber /data/local/tmp/
adb shell chmod 0755 /data/local/tmp/cuber
adb shell 'id=$(cat /sys/class/block/mmcblk0/device/{manfid,serial}); echo "$id"; echo 0x${id:6:2}${id:11:8} | /data/local/tmp/cuber > /sdcard/unlock.code'
adb pull /sdcard/unlock.code
adb shell rm /sdcard/unlock.code /data/local/tmp/cuber
adb reboot-bootloader
fastboot -i 0x1949 flash unlock unlock.code
NOTE: download and extract the attached 'cuberunlock.zip' and run the above commands
in the directory where 'cuber' got extracted to.
Nice job! Originally I wanted to use OpenSSL BigNum too, but I hadn't enough time and Python was easier to use
hey,
made a static compile with an arm debian (jessie). seemed the easiest solution to me. compile command:
Code:
# gcc -fPIE -static cuber.c -o cuber -lssl -lcrypto
# strip cuber
# ldd cuber
not a dynamic executable
# ./cuber
Usage: cuber [RSA-bytes] < data > sig
seems to work. arm(!) binary attached.
ok draxie, you pointed me here but something seems to be missing. i downloaded unlock.zip, put the files in my adb directory. when i run get_code.bat, it pushes cuber to the kindle in the right directory, changes permissions (dont see any errors there) but then stops saying the system can't find the specified path. Whats funny is i used es file explorer to check the paths in the script, and they are there so not sure where the hang up is.
chin_bone said:
ok draxie, you pointed me here but something seems to be missing. i downloaded unlock.zip, put the files in my adb directory. when i run get_code.bat, it pushes cuber to the kindle in the right directory, changes permissions (dont see any errors there) but then stops saying the system can't find the specified path. Whats funny is i used es file explorer to check the paths in the script, and they are there so not sure where the hang up is.
Click to expand...
Click to collapse
Did you check all three paths?
/data/local/tmp
/sdcard
/sys/class/block/mmcblk0
The 2nd one _may_ be problematic if you're on SafeStrap.
I don't know why. I'm yet to install that on one of my test
devices to investigate. (Or, was that the 1st... )
The 0 in the 3rd one may actually be a 1 on some systems.
I have a few extra lines in my VM script to work around
that, I can easily add that here as well, if that turns out
to be the issue.
BUT, to try and troubleshoot: how far does the script get?
If it didn't complain with the permissions, the 1st path is probably OK.
Does it print your manfid/serial?
If so, mmcblkX would be right as well.
Any chance that you're on SafeStrap?
Can you push/pull to/from /sdcard?
- - - - -
On a second thought: I've only ever tested this on Linux.
String quoting on Windows may work differently, and could *royally* mess up how that more complex command is interpreted.
I'll test tomorrow; it's like 20 past 1am here. I need to get some sleep.
In the meantime, as a workaround, you could just hard-code your manfid/serial, and replace this line:
Code:
adb shell 'id=$(cat /sys/class/block/mmcblk0/device/{manfid,serial}); echo "$id"; echo 0x${id:6:2}${id:11:8} | /data/local/tmp/cuber > /sdcard/unlock.code'
by the decidedly much simpler:
Code:
adb shell 'echo 0xmmssssssss | /data/local/tmp/cuber > /sdcard/unlock.code'
draxie said:
Did you check all three paths?
/data/local/tmp
/sdcard
/sys/class/block/mmcblk0
The 2nd one _may_ be problematic if you're on SafeStrap.
I don't know why. I'm yet to install that on one of my test
devices to investigate. (Or, was that the 1st... )
The 0 in the 3rd one may actually be a 1 on some systems.
I have a few extra lines in my VM script to work around
that, I can easily add that here as well, if that turns out
to be the issue.
BUT, to try and troubleshoot: how far does the script get?
If it didn't complain with the permissions, the 1st path is probably OK.
Does it print your manfid/serial?
If so, mmcblkX would be right as well.
Any chance that you're on SafeStrap?
Can you push/pull to/from /sdcard?
- - - - -
On a second thought: I've only ever tested this on Linux.
String quoting on Windows may work differently, and could *royally* mess up how that more complex command is interpreted.
I'll test tomorrow; it's like 20 past 1am here. I need to get some sleep.
Click to expand...
Click to collapse
It's all good draxie, i figured out what i was doing wrong with the other procedure, that damn STEP 2, once i did it, everything fell into place. Bootloader unlocked and now just trying to figure out which rom to try first. Thanks again, you guys are great and i know how valuable everyones time is. :good:
I keep hitting road blocks, I am rooted and on Fire OS 4.5.5.2 I click get code a screen flashes up then I click Unlock and my Kindle boots to the Grey Kindle screen with Fastboot underneath and nothing else happens. Same happens when I copy and past the code into ADB. What step am I failing at? Thanks for the help!
pdanforth said:
I keep hitting road blocks, I am rooted and on Fire OS 4.5.5.2 I click get code a screen flashes up then I click Unlock and my Kindle boots to the Grey Kindle screen with Fastboot underneath and nothing else happens. Same happens when I copy and past the code into ADB. What step am I failing at? Thanks for the help!
Click to expand...
Click to collapse
@draxie - I have no experience with this tool; python/gmpy2 works reliably for me. Sorry to pull you in ...
Davey126 said:
@draxie - I have no experience with this tool; python/gmpy2 works reliably for me. Sorry to pull you in ...
Click to expand...
Click to collapse
I am up and running now, unlocked and running kk-fire-nexus-rom-thor-20161017. Play store is also up and running.
pdanforth said:
I am up and running now, unlocked and running kk-fire-nexus-rom-thor-20161017. Play store is also up and running.
Click to expand...
Click to collapse
Did you end up using some other method, or did these scripts work for you in the end?
Either way, others may find useful if you could share whatever worked for you. (-;
Unfortunately, I still haven't had a chance to test these scripts in Windows;
so, I couldn't answer your first call for help in a good way. If there's something
wrong and there's enough interest, I'll be happy to fix it as soon as I can.
draxie said:
Did you end up using some other method, or did these scripts work for you in the end?
Either way, others may find useful if you could share whatever worked for you. (-;
Unfortunately, I still haven't had a chance to test these scripts in Windows;
so, I couldn't answer your first call for help in a good way. If there's something
wrong and there's enough interest, I'll be happy to fix it as soon as I can.
Click to expand...
Click to collapse
@stangri did my unlock file and I used this thread to unlock https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982
I had trouble making the Unlock file, once that was done and some help from other users I am now up and running!

Categories

Resources