[GUIDE] Learn about Linux/Ubuntu development commands [UPDATED] - XDA-University

Hey guys! This guide is surely gonna help a lot of people who build/compile ROMs, to understand the hidden meaning behind most of the common commands associated with the building stuff.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
SO STARTING WITH THE COMMANDS GENERALLY USED FOR BUILDING DEVELOPMENT ENVIRONMENT:
We type the command sudo a lot of times and it asks for our desktop's password.
What is 'sudo'?
sudo is a Linux command used to execute programs as the root, or "super user." sudo is a shortening of "substitute user do."
One uses sudo when they need to run a command or program as root, but do not wish to log out or switch their entire shell to root privileges (like they could do with the su command).
Click to expand...
Click to collapse
What is 'mkdir'?
The 'mkdir' (make directory) command in the Linux or Ubuntu operating systems and in the PHP scripting language is used to make a new directory.
eg: mkdir -p ~/bin
Click to expand...
Click to collapse
What is 'cd'?
Besides listing the command "change directory" command "cd" is used.
The cd command, also known as chdir (change directory), is a command-line OS shell command used to change the current working directory in operating systems such as Ubuntu or Linux.
eg: cd ******(folder name)
Click to expand...
Click to collapse
What does './configure' do?
Typically the configure script when run will check some details about the machine on which the software is going to be installed. This script checks for lots of dependencies on your system. For the particular software to work properly, it may be requiring a lot of things to be existing on your machine already. If any of the major requirements are missing on your system, the configure script would exit and you cannot proceed with the installation, until you get those required things.
Click to expand...
Click to collapse
What is 'make'?
the make command accepts targets as command line arguments. These targets are usually specified in a file named 'Makefile', which also contains the associated action corresponding to the targets.
When the make command is executed for the very first time, it scans the Makefile to find the target (supplied to it) and then reads its dependencies. If these dependencies are targets themselves, it scans the Makefile for these targets and builds their dependencies (if any), and then builds them. Once the main dependencies are build, it then builds the main target (that was passed to the make command).
Click to expand...
Click to collapse
What does 'sudo apt-get' do?
Now there are a lot of things that are done with the command 'sudo apt-get'. Some common ones are:
'apt-get update' downloads the package lists from the repositories and "updates" them to get information on the newest versions of packages and their dependencies. It will do this for all repositories and PPAs.
'apt-get upgrade' will fetch new versions of packages existing on the machine if APT knows about these new versions by way of apt-get update.
'apt-get install': This option is followed by one or more packages desired for installation. Each package is a package name, not a fully qualified filename.
Click to expand...
Click to collapse
MOVING ON TO THE COMMANDS USED FOR COMPILING PROCESS:
What is 'curl'?
'curl' is a client to get documents/files from or send documents to a server, using any of the supported protocols (HTTP, HTTPS, FTP, GOPHER, DICT, TELNET, LDAP or FILE). The command is designed to work without user interaction or any kind of interactivity.
eg curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
Click to expand...
Click to collapse
Why do we use 'chmod' command?
In Linux or Ubuntu, 'chmod' changes the permissions for a file; permissions should include a letter designating who gets permissions ('u' for the user, 'g' for the group, 'o' for others, or 'a' for all) followed by a '+' or '-' (to give or take away the permission) followed by the kind of permission ('r' for read access, 'w' for write access, 'x' for execute if the file is a program or script).
eg: chmod a+x ~/bin/repo
Click to expand...
Click to collapse
Why do we use 'export' command?
When you use export, you are adding the variable to the environment variables list of the shell in which the export command was called and all the environment variables of a shell are passed to the child processes.
eg: export PATH=${PATH}:~/bin
Click to expand...
Click to collapse
What is 'gedit'?
'gedit' is a light-weight text editor. Gedit has all the basic features you come to expect from a simple text editor, but Gedit has a native graphic user interface (GUI). Gedit also has command line arguments available to users to quickly and easily view and edit files from a terminal. Overall, Gedit is an easy to use text editor with utilizing the powerful capabilities of the desktop.
Click to expand...
Click to collapse
Why is 'repo init -u url -b branch' used?
This would initialize a new local source repository. This will create a new place to hold your local copy of the source tree. “url” should point to a Manifest repository that describes the whole sources. It is a special project with a file (default.xml) that lists all the projects that Android is made of. In the Manifest file, each projects has attributes about: where to place it in the tree, where to download it from (git server), revision that will be used (usually a branch name, tag or commit sha-id).
eg:repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
Click to expand...
Click to collapse
What is 'repo sync'?
After the repo initialization, this command downloads all the sources to your local directory. The first time you run this command, it will download the sources. Android sources are huge, for example, CM11 (KitKat) sources are approximately 12GiB. So, be prepared: you’ll need space in your hard drive, and time (possibly several hours)-depending on you ISP.
Click to expand...
Click to collapse
What is 'mka'?
This little gem of a command is basically equivalent to a super-charged version of 'make'. Problem is, make is SLOW in its default configuration. It can take hours longer depending on your hardware.So, mka is like a cheetah. What this means is that ALL of your processor is working, not just one small part of it(which is used with 'make' command).
Click to expand...
Click to collapse
What is 'breakfast'?
In order to explain brunch, we have to explain breakfast first. Breakfast is a function used to configure your build. It keeps track of a list of officially-supported devices to build for, and allows you to choose one. You can do this two ways,
1) breakfast [device name]
or
2) breakfast
Now, the first method is a shortcut to your device. If you don't know your device's name, then you can probably choose the second method which would display all the officially supported devices.
Breakfast then goes on to configure your build environment with the correct variables to create your device-specific rom.
Click to expand...
Click to collapse
Why do we use 'brunch'?
brunch followed by your device's codename is used to tell the system to start building/compiling from the sources.
eg: brunch ****(device codename: eg pico for HTC Explorer)
Click to expand...
Click to collapse
What is 'lunch'?
Lunch is used EXACTLY like breakfast, the only difference being the choices you have to build with it. Using lunch, you can choose non-official or non-standard builds for your device. This includes special debug versions and also allows you to build CyanogenMod for use on the Android Emulator. To build after running lunch, simply issue the command mka.
Click to expand...
Click to collapse
THANK YOU GUYS FOR READING IT. HOPE IT COMES HANDY TO YOU!
XDA-Portal: http://www.xda-developers.com/android/basic-linux-commands/
Source: http://www.google.com/

Nice overview for people new to Linux, but I'm afraid I'm going to have to disagree on your explanation of the sudo command. Contrary to your explanation, the name of the sudo command is actually derived from the su command (sudo homepage), which means: ”substitute user”. When taking this into account the meaning of sudo becomes: ”substitute user do”.
The reason I'm saying this, is because sudo, just like su, can be used to execute commands as/switch to any user present on the system.

Do note that apt-get and dpkg are distro-specific, not Linux-specific. If you're using Ubuntu, Debian or elementary, apt-get is there, but on Fedora you'll find yum, on Arch you've got pacman, on Gentoo you end up with emerge and so on.

is this an example of the real guide?
i mean there are so many more thing you need to explain
1.rm
2.ls
3.pwd
4.cp/mv
5.lunch
6.breakfast(i mean you mention brunch ,without breakfast?)
7.mka
more i can't remember
and all of this i have used while building.

Imposible to read on mobile
You know this is very hard to read on a phone? I mean, those boxes are for code, no? Any way, good post.

Erackron said:
Nice overview for people new to Linux, but I'm afraid I'm going to have to disagree on your explanation of the sudo command. Contrary to your explanation, the name of the sudo command is actually derived from the su command, which means: ”substitute user”. When taking this into account the meaning of sudo becomes: ”substitute user do”.
The reason I'm saying this, is because sudo, just like su, can be used to execute commands as/switch to any user present on the system.
Click to expand...
Click to collapse
This was a great overview, it did teach me a few things. Just one minor thing, in my Linux class we were taught that su meant 'switch user' and the other meanings were actually wrong. Then sudo would become: 'switch user do'. Which meaning is it then?

ruledrbrt1 said:
This was a great overview, it did teach me a few things. Just one minor thing, in my Linux class we were taught that su meant 'switch user' and the other meanings were actually wrong. Then sudo would become: 'switch user do'. Which meaning is it then?
Click to expand...
Click to collapse
I'm pretty sure sudo is something else. Ex: You can do sudo su - to switch to root.

You dont have automatikli sudo rights. The configuration file for sudo is*/etc/sudoers wich u can edit with visudoers.

The distinction between sudo and su is that with sudo, you need to have a user configured in a system wide configuration file (/etc/sudoers) to actually have him use the command and if someone attempts to use it without having permission, a log email will be sent to the email address configured for the root user.
When your account has been configured to allow sudo usage, you can then switch to any user/perform any command as the other user, but you only need to enter your own password when executing a command/switching to another user.
The su command is not really configurable, and only allows you to switch to another user if you enter that user's password.
So while
Code:
sudo -s someuser
and
Code:
su someuser
have the same effect, the sudo version asks for the password of the current user (and fails if the current user has no sudo rights) while the latter asks for the password of someuser.
For more on su and sudo.

cybervibin said:
is this an example of the real guide?
i mean there are so many more thing you need to explain
1.rm
2.ls
3.pwd
4.cp/mv
5.lunch
6.breakfast(i mean you mention brunch ,without breakfast?)
7.mka
more i can't remember
and all of this i have used while building.
Click to expand...
Click to collapse
To be honest if people don't understand what 1 through 4 mean in your list, then most likely they shouldn't be trying to develop anything IMHO

mjwhirly said:
To be honest if people don't understand what 1 through 4 mean in your list, then most likely they shouldn't be trying to develop anything IMHO
Click to expand...
Click to collapse
well he included 'cd' and 'mkdir'
so i just mentioned

Erackron said:
Nice overview for people new to Linux, but I'm afraid I'm going to have to disagree on your explanation of the sudo command. Contrary to your explanation, the name of the sudo command is actually derived from the su command (sudo homepage), which means: ”substitute user”. When taking this into account the meaning of sudo becomes: ”substitute user do”.
The reason I'm saying this, is because sudo, just like su, can be used to execute commands as/switch to any user present on the system.
Click to expand...
Click to collapse
Corrected it. Thanks!
cybervibin said:
is this an example of the real guide?
i mean there are so many more thing you need to explain
1.rm
2.ls
3.pwd
4.cp/mv
5.lunch
6.breakfast(i mean you mention brunch ,without breakfast?)
7.mka
more i can't remember
and all of this i have used while building.
Click to expand...
Click to collapse
Well, added the last three. Thanks!
letoloke said:
You know this is very hard to read on a phone? I mean, those boxes are for code, no? Any way, good post.
Click to expand...
Click to collapse
Now, I guess it would be readable on phones as well, since I have changed code to quotes. Hope it works now. Thanks!

Thanks for the knowledge
Easy to digest explanations.

I'd like to link this free course by Linux Foundation - https://www.edx.org/course/linuxfoundationx/linuxfoundationx-lfs101x-2-introduction-5386
I am full time linux user and linux is much much better when it comes to developement/re-engineering stuffs. This free course gives deep introduction to linux and basic info to bash scripting.

Thanks bro, much appreciated work, just started to build ROM from source for i9100 android lollypop named "CodeROM"
this tutorial is really helpful... thanks added... & keep updating the thread whenever new commands arrives.... so people like me can get most out of it

warrior1208 said:
Hey guys! This guide is surely gonna help a lot of people who build/compile ROMs, to understand the hidden meaning behind most of the common commands associated with the building stuff.
SO STARTING WITH THE COMMANDS GENERALLY USED FOR BUILDING DEVELOPMENT ENVIRONMENT:
We type the command sudo a lot of times and it asks for our desktop's password.
What is 'sudo'?
What is 'mkdir'?
What is 'cd'?
What does './configure' do?
What is 'make'?
What does 'sudo apt-get' do?
MOVING ON TO THE COMMANDS USED FOR COMPILING PROCESS:
What is 'curl'?
Why do we use 'chmod' command?
Why do we use 'export' command?
What is 'gedit'?
Why is 'repo init -u url -b branch' used?
What is 'repo sync'?
What is 'mka'?
What is 'breakfast'?
Why do we use 'brunch'?
What is 'lunch'?
THANK YOU GUYS FOR READING IT. HOPE IT COMES HANDY TO YOU!
XDA-Portal: http://www.xda-developers.com/android/basic-linux-commands/
Source: http://www.google.com/
Click to expand...
Click to collapse
How to pause repo sync????
My pc was shut down bcoz electricity gone and i was rezume rwpo sync plz tell me how to reaume repo synce fast

I get this error plz fix
Sent from my Xperia M2 Dual using XDA Free mobile app

manask002 said:
I get this error plz fix
Sent from my Xperia M2 Dual using XDA Free mobile app
Click to expand...
Click to collapse
You need to add yoour sources to the local_maifest.xml or you have to create a room service xml because your device is not supported officially.
Check this helpful guide on how to make a local manifest.
http://forum.xda-developers.com/showthread.php?t=2329228
Hope this helps you.

My device is xperia m2 its officially support aosp xperia
Sent from my Xperia M2 Dual using XDA Free mobile app

Noob on Linux
I want to try to build a rom for my Nexus 5 but want too also better understand Linux eg Ububtu 14.10 and not just copy text given in a buildingmanual so where is the best place to start really understanding Ubuntu?

Related

Setting Up NDK on Window

Looking for some assistance getting the NDK working properly on Windows 7 (64).
I followed all of the instructions to set up the NDK in windows but am running into an issue.
Per the instructions you need to install CYGWIN which i did and then go to the root NDK folder and run build/host-setup.sh.
Once I run this i get the following error;
ERROR: Could not find a valid GNU make executable.
Please ensure GNU Make 3.81 or later is installed.
Click to expand...
Click to collapse
I do have GNU make 3.81 installed for windows.
If i try to use cygwin to run a make APP=hello-jni as a test as it states i get the error;
bash: make: command not found
Click to expand...
Click to collapse
if i use windows command prompt i can run the make.exe fine.
I'm thinking the issue is because its trying to use a Linux based make since i would assume Cygwin cannot rune EXE files.
Could anyone assist me with this that has it set up and working properly in windows?
Any takers please?
Check 'Make' package in Cygwin setup.
Do yourself a favor and use a real operating system. Ditch that MSJUNK.
On top of that, I *strongly* suggest that NOBODY EVER use windoze for compiling ANYTHING. When you are building software for other people to use, you most *definitely* do NOT want to build software that has been compromised. Windoze is the world's number ONE compromised platform. It about as save as having your way with a 50 year old street corner hooker without protection.

[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].

[TUTORIAL] The Step-By-Step guide to build Cyanogenmod7 for the LG Optimus 2X

aMpeX proudly presents:
The Step-By-Step guide for building CM7
for the Optimus 2X​
Disclaimer:
I'm taking no responsibility for any damage that might occur to your phone or your PC
This guide illustrates how to setup an UBUNTU 11.04 equipped PC to build CM7 from source
It does not provide any support beyond that operating system, so if you insist on using other
Linux distributions, either adapt the guide yourself or look elsewhere.
Moreover I'm not providing any support for any problems that might occur during the course
of this guide, if they are not introduced by faults within the guide itself. I will only
troubleshoot the activities that this guide is based upon and won't be able to help with your
general linux problems. Feedback however is greatly appreciated.
Reposting this on other forums:
Feel free to post this guide on other forums. I'd like to be given credit though. Thanks
I am new to this myself, but I thought I'd share my findings after successfully building my first kang.
News & changelog:
v0.92 2011/06/01 Fix:
Added "change directory" before init repository (thanks to peewster)
v0.91 2011/05/31 Fix:
Fixed PATH exports (thanks to bhanvadia)
v0.9 2011/05/31 Initial release:
Still much formatting to be done, typos possible. Leave me some feedback if you encounter them.
Alright, so you want to build your own CM7 KANG's ?
Step 0: The starting point + info
When you start this guide, I assume that you just installed your Ubuntu 11.04 copy to your PC and set up all the drivers to your hearts content.
All commands are supplied, as they would be typed in from a USER ACCOUNT, if you operate from the root account, you will
have to add /home/<yourusername> to the most commands. I suggest, after performing the actions required by root, that you log out by typing
Code:
exit
What you need:
A working copy of Cyanogenmod7 installed on your phone
A PC with Ubuntu 11.04 installed (NOTE: If you're about to install Ubuntu from scratch, use the 64Bit version.
I can build CM7 on a 32Bit OS just fine. But AOSP for example won't build beyond Froyo on 32Bit.
At least 20GB of free space (including space required for the operating system itself)
A considerably fast internet connection (syncing the repo takes everal Gbs)
At least 3 hours of time.
All done? Then let's get started:
Step 1: Install the Java JDK
Go to System → Administration → Synaptics Package Manager
Here, we have to enable the partner repositories.
Go to Settings → Repositories → Other Software → Tick Canonical Partners and hit Close
Now push the „Reload“ button, and use the Search button to find the sun-java6-jdk package
tick the box in front of it and choose „Mark for installation“ and accept the following dialogue.
Click the „Apply“ button. Accept the dialogues, you now have the Java JDK installed.
Step 2: Install the Android SDK
Go here and download this.
Extract the archive to a directory of your choice.
Open a Terminal, navigate to the „tools“ subfolder and run the AVD Manager using ./android
In the new Window hit „Available Packages“ tick the „Android Repository“ and select „Install selected“
Once thats done, close everything up, time for step 3.
Step 3: Set up udev
The description from the CyanogenMod wiki struck me as being a slightly bit overkill, and, while it might be necessary for other devices, for LG phones this works just fine:
Create a new file on your desktop named
Code:
99-android.rules
and fill them with the following content:
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
This will enable the debugging for LG devices, if you have time, it won#t hurt to add the other vendors. Just add another line
like above and replace the „1004“ with the appropriate vendor ID from http://developer.android.com/guide/developing/device.html (scroll to the bottom)
Log in as root using
Code:
sudo su
and paste our file to
Code:
/etc/udev/rules.d
using the terminal (cp)
Set permissions for the file using
Code:
chmod a+r /etc/udev/rules.d/99-android.rules
Now would probably be a good time to check if adb is working correctly.
But first, lets update the PATH so we can type „adb“ anywhere on the file system.
Navigate to your user home directory, press CTRL+H to show hidden files and edit the
Code:
.bashrc
file by adding the following
Code:
export PATH="/home/<yourusername>/<path to the android SDK >/platform-tools/:${PATH}"
export PATH="/home/<yourusername>/bin/:${PATH}"
(The 2nd line is necessary for later)
NOTE:This only enable the use of adb everywhere when logged in with your username. When working as root, you'll have
to add a separate line with /home/<yourusername> in front of the path above.
You have to log out and in again for the changes to take effect.
Now check if you can see your phone with
Code:
adb devices
Alright, still awake? Good, because now it gets interesting
Step 4: Install build packages and create directories
Since we already installed the JDK this command differs a bit from the Cyanogen Wiki:
For 32 and 64 Bit
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool
For 64 Bit only
Code:
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.4-multilib g++-4.4-multilib
Now we need 2 directories
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
Almost there ….
Step 5: Install the repository
Now we need our repo binary:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
(credits to p.valenta for notifying me of the adress change)
NOTE: You may need to reboot now
Change to your previously created directory:
Code:
cd ~/android/system/
Initialize the repository:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
Enter your Name, eMail adress and select if you want colors or not.
AND NOW THE FINALE
Code:
repo sync -j16
Get yourself a BIG coffee, because this is going to take MUCH MUCH time, because basically you are now checking out all there is to CyanogenMod.
But wait, we're not done yet. Hang on
Step 6: Getting proprietary files for the Optimus 2X
For this step, you need an O2X with a running Cyanogenmod build, so if you're still on stock, this is the time to flash Cyanogenmod for the first time.
Connect your phone to your PC via USB and
navigate to the device tree in your repo folder:
Code:
cd ~/android/system/device/lge/p990/
and run
Code:
./extract-files.sh
This will extract some libs from your device. But sadly, not all of them (build will still fail) but we will fix this now.
Go to
Code:
https://github.com/koush/proprietary_vendor_lge/tree/gingerbread/p990
and click the download button on the right.
Extract the „p990“ folder located in the subfolder
Code:
/koush-proprietary_vendor_lge-a43238f/
in the archive to
Code:
~/android/system/vendor/lge/
Step 7: Get latest ROMManager
I know I must be annoying the sh** out of you by now, but hang in there
Code:
~/android/system/vendor/cyanogen/get-rommanager
Step 8: BUILD F***ING EVERYTHING
Now this is what you've been waiting for huh?
Sync the repository again:
Code:
cd ~/android/system/
repo sync
Build the ROM
Code:
. build/envsetup.sh && brunch p990
Wait
When everything is finished, your KANG will be stored in
Code:
~/android/system/out/target/product/p990/
And THATS IT!
Congratulations, you have just built your own CM7 KANG, don't forget to share it to other nightly testers
Cheers aMpeX
Useful stuff and tools:
SH script by bhanvadia, tailored to the directories introduced by this tutorial:
Download here
Extract anywhere and make it executable by typing
Code:
chmod +x kang.sh
Create shortcut to the output directory of your KANGs
Type
Code:
ln -s ~/android/system/out/target/product/p990/ <your desired shortcut location>
nice guide, really liked it.
too bad there were none when I started making my kangs.
btw: I use mac it is bit different for mac. but nothing its missing.
Here is file you keep on you desktop to make it work without any typing of commands after you setup your computer working directory as per guide by aMpeX.
and check post #2 for making that file executable.....
kang.sh
bhanvadia said:
nice guide, really liked it.
too bad there were none when I started making my kangs.
btw: I use mac it is bit different for mac. but nothing its missing.
add "~/android/bin/" to path too so you can "repo sync" from anywhere.
just a suggestion... can upload build.sh file on here to make it easy.
something like
1. for clean and build
2. for repo sync
open file and press your options.
thats what I use...
Click to expand...
Click to collapse
That's why the guide states its for ubuntu. I found that even the Cyanogenmod Wiki entries don't work completely for the latest ubuntu (with g++ and gcc 4.3 not being available anymore, also hat huge problems with the java jdk at first)
I'll add the additional PATH variables as you suggested. Thank you.
aMpeX said:
That's why the guide states its for ubuntu. I found that even the Cyanogenmod Wiki entries don't work completely for the latest ubuntu (with g++ and gcc 4.3 not being available anymore, also hat huge problems with the java jdk at first)
I'll add the additional PATH variables as you suggested. Thank you.
Click to expand...
Click to collapse
Here is file you keep on you desktop to make it work without any typing of commands after you setup your computer working directory as per guide by aMpeX.
PS: aMpeX can you just test that file??? just repo sync or rom manager update options.
awesome guide !!! thanks aMpeX !
seems to be working, after you chmod+x the sh file that is. My Repo Sync is stuck at 1%, but I doubt its related to your file.
I'll add it to the 2nd post
aMpeX said:
seems to be working, after you chmod+x the sh file that is. My Repo Sync is stuck at 1%, but I doubt its related to your file.
I'll add it to the 2nd post
Click to expand...
Click to collapse
modified my mac file i use to fit to your setup of directories, just changed directories. ...
yeah then it would work, hope it make it more easy
GET the KANGs flowing...........
aMpeX said:
Useful stuff and tools:
SH script by bhanvadia, tailored to the directories introduced by this tutorial:
Download here
Extract anywhere and make it executable by typing
Code:
chmod +x kang.sh
Create shortcut to the output directory of your KANGs
Type
Code:
ln -s ~/android/system/out/target/product/p990/
Click to expand...
Click to collapse
Download link is sending to wrong post still....
now it should work like this....
http://forum.xda-developers.com/showpost.php?p=14310172&postcount=5
copy
http://forum.xda-developers.com/showpost.php?p=14310172&postcount=5
Can you please also state that it only works on 64bit builds of ubuntu and not 32bit...
Renegade_Rulez said:
Can you please also state that it only works on 64bit builds of ubuntu and not 32bit...
Click to expand...
Click to collapse
Aside from what you can read on the net, my KANGs build perfectly fine on Ubuntu 32Bit
No reason to not install 64Bit though. I'll add a remark in the first post.
Edit: After some asking and digging, read this:
http://twitter.com/#!/CM_arcee/status/75677847712309249
So while standard Gingerbread cannot be built by 32Bit, the CyanogenMod7 repository can.
is this meant to download a lot of stuff for different phones? mine is downloading a lot of stuff at step 5 and it's taking forever..
Imperticus said:
is this meant to download a lot of stuff for different phones? mine is downloading a lot of stuff at step 5 and it's taking forever..
Click to expand...
Click to collapse
It will download files for each and every phones supported by CyanogenMod, thats why its called cyanogen repo, not just P990 repo, but mostly you will use stuff thats required by your phone.
and its suggested to have 15 - 20 GB free, as it takes a lot....
3.5 GB is just "out" folder when it compiles for one device (P990)......
bit of a noob.. done everything..when I try to make the build using build/envsetup.sh i get permission denied
Any help please?
copy/paste the command from the tutorial
there is a leading dot and space before "build
Code:
. build/envsetup,sh && brunch p990
Thank's for the tutorial but i allways get no gsm function build
logcat -b radio
RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING error: com.android.internal.telephony.CommandException: RADIO_NOT_AVAILABLE
Click to expand...
Click to collapse
or
Couldn't find 'rild' socket; retrying after timeout
Click to expand...
Click to collapse
What baseband are you using? Make sure that the lge-ril.so is in your proprietary files
aMpeX said:
What baseband are you using? Make sure that the lge-ril.so is in your proprietary files
Click to expand...
Click to collapse
Thank's for repy.
lge-ril.so is in and generally i flash my build coming from cyano #31 (405) and mcr18 (405)
So...405
Possibly (if you synced the proprietary repository by koush AFTER you ran extract-files.sh) your ROM still includes the lge-ril for 0218.
Try reflashing the ril with the methods provided in this forum.
Other than that, I have no idea what might be causing your problems.
old ril file from koush files do work on 405 baseband too, but you feel better performance with new ril. with old ril you may loose signals sometime.
delete your vendor/lge/p990 folder, and download again from koush's files and put it back there. make sure your directories are in order
example: for lib-ril.so in as below
like ~/android/system/vendor/lge/p990/proprietery/lib/

WebTopScripts - Fixing apt-get dependencies on WebTop

After using webtop2sd app the next step on using my webtop on motorola atrix was to start using programs like aptitude, synaptic or command line apt-get to install much more useful programs to use offline on this motorola modified ubuntu jaunty distribution.
The first problem faced was that motorola had left a lot of broken dependencies that would break webtop system if someone just try to use any automatic solution.
To help on this task i developed a bash script that fix those broken dependencies using three different approaches:
1 - The first logical step is just install the missing packages from ubuntu jaunty, taking care to not overwrite any original packages developed from motorola
2 - Since some packages were made from motorola and were already installed on webtop, the second step was creating FAKE packages to just tell apt-get that the package is already installed leaving the original motorola installed package intacted.
3 - Somehow, there is one fake package that breaks the system if is installed. For this package, the idea was backup all files provided from the package developed from motorola and install ubuntu jaunty package overwriting motorola's files. After installation restore the original files on top of ubuntu jaunty files to maintain maximum motorola original system.
After fixing apt-get broken dependencies the use of apt-get could upgrade original motorola`s file. To avoid that there is another script that mark to HOLD version installed. Doing that, it is more difficult to normal users to upgrade packages that would overwrite motorola packages.
Now let's explain how to use WebTopScripts.
Requirements:
* Rooted Atrix.
* Working WebTop after webtop2sd modifications.
* webtop configurator running and preliminaries fix applied from this program (most of all corrections are related to sources.list).
* basic skills to run bash scripts and commands from terminal command line
* working lxterminal program on webtop
Install Script on your Atrix:
* Download file from this thread and save on your download folder (/mnt/sdcard/download)
* run these commands on lxterminal:
Until version 1.6:
Code:
cp /mnt/sdcard/download/webtopscripts-1.4.tar ~/
cd ~
sudo tar -xvf ~/webtopscripts-1.4.tar
sudo chmod -R 777 WebTopScripts
bash WebTopScripts/setup.sh
After version 1.7:
Code:
cp /mnt/sdcard/download/webtopscripts-1.7.tar ~/
cd ~
sudo tar -Pxvf ~/webtopscripts-1.7.tar
cd /osh/usr/share/
sudo chmod -R 777 WebTopScripts
bash WebTopScripts/setup.sh
Run Scripts to fix apt-get:
Until version 1.6:
Code:
cd ~
bash WebTopScripts/fix-apt-get.sh
After version 1.7 execute this command and choose options from menu:
Code:
webtopscripts
Just use this script with care, and at your own risk, because apt-get may break your system.
Using webtop2sd you may easily recover from original webtop but since your are on a rooted device all caution is needed.
Good luck and enjoy.
New repository for updated versions on: webtopscripts google code
Version 1.5 released 10/01/2012
Version 1.6 released 11/01/2012
Version 1.7 released 24/01/2012
Many thanks to donation made by:
amenditman
...
Please feel free to contribute on WebTopScripts Project on Google Code
Install script to help use of dpkg -i xx.deb command
If you want to use some functions provided from WebTopScrips to install packages directly from deb files like command "sudo /usr/bin/dpkg -i --root=/osh <<package_deb_file.deb>>", you may run the code:
Code:
cd ~
bash WebTopScripts/scripts/install.sh <<package_name>>
Just need to make sure to write proper settings on file:
Code:
cd ~
leafpad WebTopScripts/scripts/config.txt
Example of config.txt (You just need to include dependencies that are not on webtop yet) :
[gksu]
site="http://launchpadlibrarian.net/23917569/gksu_2.0.2-1ubuntu2_armel.deb"
file="gksu_2.0.2-1ubuntu2_armel.deb"
depends="libgksu2-0;gnome-keyring"
[libgksu2-0]
site="http://launchpadlibrarian.net/25028748/libgksu2-0_2.0.9-1ubuntu3_armel.deb"
file="libgksu2-0_2.0.9-1ubuntu3_armel.deb"
depends=""
[gnome-keyring]
site="http://launchpadlibrarian.net/25333836/gnome-keyring_2.26.1-0ubuntu1_armel.deb"
file="gnome-keyring_2.26.1-0ubuntu1_armel.deb"
depends="libgcr0;libgp11-0"
[libgcr0]
site="http://launchpadlibrarian.net/25333843/libgcr0_2.26.1-0ubuntu1_armel.deb"
file="libgcr0_2.26.1-0ubuntu1_armel.deb"
depends="libgp11-0"
[libgp11-0]
site="http://launchpadlibrarian.net/25333840/libgp11-0_2.26.1-0ubuntu1_armel.deb"
file="libgp11-0_2.26.1-0ubuntu1_armel.deb"
depends=""
Click to expand...
Click to collapse
To install gksu you just need to run:
Code:
cd ~
bash WebTopScripts/scripts/install.sh gksu
You may contribute with more config text for installing more packages on this thread to share with others users that do not want to use apt-get easy installation process.
Visit site bellow to find path for armel jaunty deb files on web:
https://launchpad.net/ubuntu/jaunty/armel/
Hope to have your contribution soon.
Programs Installed after apt-get fix from WebTopScripts
I will list here all applications that were installed and how I did it after fixing apt-get.
=== Reserved ===
You my friend, have to much time on your hands.
This is freaking wicked GOD like.
Thank you !
very nice I had been working on getting dependencies t work for days and kept breaking the webtop.
I've also been working on this for days and am happy to confirm it works beautifully!
May god carry your soul to heaven when you die.
I am now completely satisfied in replacing my netbook with the lapdock
im installing gnome desktop now =D
youre the man
I think I may have just died! Awesome job.
You make my day
Sent from my MB860 using XDA App
Thank you everybody that tested the script. My pleasure to help and contribute.
I need your help on this issue:
Sometimes when you are installing programs, the program is not able to configute itself.
I found oout that the main problem is that some programs modified by motorola are preventing that since they don't have all functionalities that are expected from them.
For example program readlink can not be used with option -q, program sed can not be used with some optins, etc....
To fix that the only way is to overwrite motorola file with ubuntu original jaunty file. BUT that sometimes breaks the system.
Here is your possible contribuition: to find out with me wich files can be overwriting without problems.
Here is an example to how to overwrite readlink:
Code:
cd ~
bash WebTopScripts/scripts/install.sh coreutils
rm -R ~/tmp
dpkg-deb -x WebTopScripts/packages/coreutils_6.10-6ubuntu1_armel.deb ~/tmp/
sudo cp ~/tmp/bin/readlink /usr/bin/readlink
To overwrite grep we need to include this package on WebTopScripts like this:
Code:
cd ~
sudo tee -a WebTopScripts/scripts/config.txt <<EOF
[grep]
site="http://launchpadlibrarian.net/[URL="tel:19665074"]19665074[/URL]/grep_2.5.3%7Edfsg-6ubuntu1_armel.deb"
file="grep_2.5.3~dfsg-6ubuntu1_armel.deb"
depends=""
EOF
bash WebTopScripts/scripts/install.sh grep
rm -R ~/tmp
dpkg-deb -x WebTopScripts/packages/grep_2.5.3~dfsg-6ubuntu1_armel.deb ~/tmp/
sudo cp ~/tmp/bin/grep /bin/grep
sudo cp ~/tmp/bin/egrep /bin/egrep
Finally, I am open to yours suggestions ....
This looks awesome! Can't wait to try it out today. has anyone installed a working chrome browser yet?
I am trying to find a working APT source for Jaunty to test against. Anyone have a working /etc/apt/sources.list I can use?
starrwulfe said:
I am trying to find a working APT source for Jaunty to test against. Anyone have a working /etc/apt/sources.list I can use?
Click to expand...
Click to collapse
Use WebTop2SD & install webtop configurator. It will fix your apt source and keys.
If you're more advanced than that and just want repo, check out old-releases.ubuntu.com as your starting fqdn.
bb12489 said:
This looks awesome! Can't wait to try it out today. has anyone installed a working chrome browser yet?
Click to expand...
Click to collapse
chromium ppa doesn't have jaunty binaries so this isn't possible. You might want to look at debian webtop for chromium.
_Alex_ said:
chromium ppa doesn't have jaunty binaries so this isn't possible. You might want to look at debian webtop for chromium.
Click to expand...
Click to collapse
yea i tried debian, but no one can get chrome to work on it. Displays pages for a second then craps out :/
aaron.a said:
im installing gnome desktop now =D
youre the man
Click to expand...
Click to collapse
did it work ???
Does any one have sources.list for any armel chromium? I had before for i386 one daily build that could work with jaunty since will not contains many dependencies on ubuntu stuff. But that was i386, i am not familiar with armel yet.
Sent from my MB860 using XDA App
this is outstanding. well done.
i am one of the many that seem to have been experimenting with this and constantly breaking it. i did find however, that overwriting most of the packages that contain binaries that were included in the original rootfs (coreutils, findutils, etc) helped fix missing arguments especially when trying to build from source using apt-get.
also force overwriting locales let you rebuild a locale for your own language and gets rid of errors and some awn-manager issues due to dependencies on the locale files.
but alas, my awn-launcher is broken so i am out of action for the time being.
arvati said:
Does any one have sources.list for any armel chromium? I had before for i386 one daily build that could work with jaunty since will not contains many dependencies on ubuntu stuff. But that was i386, i am not familiar with armel yet.
Sent from my MB860 using XDA App
Click to expand...
Click to collapse
You can find and add PPA ubuntu sources from www.launchpad.net. Unfortunately, there are no armel jaunty binaries for Chromium stable, dev or beta available.

[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.

Categories

Resources