[How-To] Find your Ubuntu kernel version - General Topics

Seeing that a lot of ROM development is done using Ubuntu is cool, as I have been an Ubuntu user for the last year. This is my first guide on XDA, I plan on posting a few in the future. Sort of a Beginners Ubuntu collection of guides that cover simple, yet useful subjects that new users to the Ubuntu OS might find useful.
This particular guide covers finding out the version of your Ubuntu kernel.
Finding out the version of your Ubuntu kernel can be useful in a few ways. Every now and then there are vulnerabilities that affect specific kernel versions, and being able to check and see whether or not your kernel version can be affected can be helpful. Also, certain features and hardware support will only work with specific kernel versions.
Finding out what Ubuntu kernel version you have is very simple, to find it just follow these steps -
Open a Terminal window (Go to your Dashboards > Search for “Terminal” > Hit Enter)
Type in this commmand in the Terminal -
Code:
uname -r
And that's it! The uname command can give you information about the kernel you are currently running, including version, system hostname and more.
When I get home later I will add a few pictures, I'm posting this from my phone right now.
Even though its not much, let me know what you guys think.
Hopefully someone finds this helpful or useful.

Related

[Q] MeeGo for Nexus S - Kernel compile problems

So, I've managed to reproduce stroughtonsmith's port of MeeGo to Samsung Nexus S, with a few "missing links". (See his work in forum.xda-developers.com/showthread.php?t=906820).
I've compiled my own MeeGo partition, uploaded the image file to the SD card, flashed his boot.img, and can consistently boot the phone into MeeGo. Thanks to his adbd on the phone, I can use adb shell to log in.
Furthermore, I can run UI apps on the phone, by becoming the meego user. I have the standard apps xterm, glxgears, and xev running. The last confirms that the OS responds to touch and button events correctly (well, at least with something which seems to make sense).
Code:
su - meego
export DISPLAY=:0
xterm &
glxgears &
xev &
killall xterm glxgears xev
Now for the missing bits: Although I've compiled the Android images (system, userdata) from the Git source, I've yet to get a working boot image. I've downloaded the samsung specific Git branch, retrieved proprietary files from the phone, and make ARCH=arm herring_defconfig (and variations of that), but no luck. The resulting image always gives a blank screen. Possibly, I'm doing something wrong with the mkbootimg command. I've yet to find an authoritative source on that.
Furthermore, if stroughtonsmith would like to share that bit, it would be interesting to know what had to be changed in order for the stock Android boot image to read the linux/rootfs.ext2 file. Some mount and chroot after starting up?
Once I get that last bit working, I'll publish a step-by-step guide, on how to do all these things, Hopefully, others will find that useful.
(Apologies if this is in the wrong forum. I'm fairly new here, and was not allowed to reply to stroughtonsmith thread. Also, I think I'm not allowed to post links).

Linux Working on Android

(I'm reposting this under a different title so web searches will bring it up)
I can get Ubuntu 11.04, 11.10 & Debian 6 to mount repeatedly in all sorts of ui updatable configurations using this information:
http://www.nerd65536.com/2011/07/ins...version-2.html
It's a friggin Christmas Miracle! Can't tell you how much time I've wasted working this out, and it all boils down to the sh and run scripts.
So, without further ado, here goes.
!!Make sure you're rooted!!
!!The quotes just tell you what to type. Don't type them!!
1.
Download one of the three builds on the website listed above (or build your own, it should work fine). Extract it from tar.bz2, they should all extract to a linux file, this includes the necessary scripts. Put it on the sd-card on your phone.
2.
Download the new scripts that (Nerd) listed found here: http://ohm.nerd65536.com/android-lin...latest.tar.bz2
And extract them. You'll have another file that says linux. Open it, take the three files inside (install.sh, root-scripts & scripts) and paste them in the linux folder you moved to your sd-card. They will overwrite the ones currently there. These scripts work for sgs4g, the originals did not.
3.
Install the latest BusyBox in both xbin and .bin if it's not already installed (must be rooted), Latest is 1.19.3. Make sure Outside Sources and USB debugging are both enabled in your settings menu. Open your Superuser App and update binaries.
4.
Download a terminal client, like Better Terminal Emulator or Android Terminal Emulator. I use the first. The terminal needs to run the commands as root, especially the linux vnc command as it didn't want to work for me no matter if I started by typing su. Better Terminal Emulator has a check box to always start in root.
5.
Open up your terminal emulator and type su if you are not rooted there. Then change directory to the linux file on the sd-card. run the sh file there.
Like this:
"su"
"cd /sdcard/linux"
"sh install.sh"
If it works, the resulting dialog in terminal won't throw up any problems.
6.
Get back to / on sd by typing in terminal:
"cd /"
You should then have a: / # prompt, which means you are still rooted.
Enter:
"linux"
Which should result in a: [email protected]:/#
This means Linux is running. Congratulations. It should continue to run unless you shut down your phone.
7.
Download a VNC client, like Android VNC Viewer (free) or Remote VNC Pro, which I use. Add a new entry in it, with the following settings:
Host: localhost
Port: 5901
Password: cheesecake
Color: 24-bit
Name: Linux
When that's done save if you can or back out if you can't, and go back to your terminal emulator.
8.
It should still say: [email protected]:/#
If it doesn't, fine, if it does, just go back to root prompt by typing:
"exit"
Which should get you: / #. Then type:
"linux vnc"
Which should run itself and mount the chroot environment. It should tell you your new 'X' desktop is localhost:1, and have a: / # prompt again.
It might also ask you for a password, if so then put whatever password you'll remember in that's longer than 6 characters and verify it. This only happens once.
9.
Go back to your VNC client and if you entered a password in step 8. then edit your listing to your password instead of cheesecake, if not then don't.
Click on the Linux link and BAM! (shameless Emerilism), you're at your Linux desktop which should be running a iceWM desktop interface, which is fast. The LXDE desktop is nicer and if you want that then go into you're terminal and get into the linux shell by typing:
"linux"
And then switch to LXDE by typing:
"apt-get autoremove icewm- lxde+"
Which will run through the removal/ installation, and verify you want to download the <400mb files. Type:
"y"
And give it time to finish. When finished, just go back to your VNC client and hit Linux again, and you will have a nice looking functional desktop, with a cpu load graph on the bottom. I tried using Gnome desktop and Unity 2d, but both of these would install and not fully run with all options. They are heavier and slower, but cool non-the-less. Let me know if anyone has luck with these on Android.
Notes-
You only have to type "linux vnc" once in terminal to start linux every time you boot your phone. Otherwise, just open your VNC client and click on Linux to use it. Easy!
You will want to update and upgrade your linux after install, do so by typing in terminal:
"apt-get update"
"apt-get upgrade"
Also, you might run across a problem if you try to add-apt-repository, that's because that python command is not present. To use it, enable by typing:
"apt-get install python-software-properties"
Also of note, the downloadable linux builds are sized to about 2.15gig on your sd, which is big enough for most. There is a way to resize them which I tried but it gave me trouble in loading. I will try again and see if I can get it to work.
Here's the link from Dangermouse:
http://www.androidfanatic.com/commun...atid=9&id=1610
Thanks to Nerd65536 for the info, write-up and files. He fixed my problem.
You might want to put quote or code tags around all the commands to make them easier to see and read, but good guide! I'll try it out soon since I haven't gotten any linux build to run on my phone in a good while.
Thanks for the post!
I wrote the post noob-style to make it easy for beginners to follow, as I've had to search and test forever to find information that works.
Let me know if you have any problems, I'd be happy to assist. Don't expect you'll have any issues with your knowledge of the os. It works pretty well on the Android system, fun to use.
wasn't this posted ages ago?
No, it's a bleed over from a question post I made under Q&A a week or so ago. I threaded this because I had such a hard time finding a thread with working steps for the Galaxy S under google search. There's not that much new from this post http://www.nerd65536.com/2011/07/in...showComment=1323566336074#c553594301247543088 by Nerd65536 (which took me forever to find and was the only one that worked). Other than that, just a few of my own thoughts and hints on the process.
krylon360 said:
wasn't this posted ages ago?
Click to expand...
Click to collapse
meant to quote not thanks, but anyways, to answer.
There has been a few times this has been posted, but its been many months and this seems like the first the issues have been sorted.
Sent from my SGH-T959V using Tapatalk
Ok, a little more use of Linux builds on my phone and I'm starting to understand why it does or does not work.
Certain kernel builds seem to work well, others not at all. Most of the kernel's I've tried have been problematic, and trying to install the .sh file will fail.
When you install your new kernel (or on your existing one) you need to open your Superuser app which should be there if your phone is rooted. There is a button to update binaries, and they need to be updated. Some builds don't seem to let this work easily and give failure notifications.
Make sure Outside Sources is enabled and USB debugging is too, both are in the settings menu.
Use BusyBox installer to install in both the .bin and .xbin directories, this will not cause any conflicts (or hasn't yet . If this gives you an error, and it will if Superuser did, then either usb debugging has not been selected or the kernel is not playing nice.
Ok, so this kernel by RaverX3X will work for linux, I'm on it now:
http://forum.xda-developers.com/showthread.php?t=1305145
(Thanks for this)
Oh yeah, and Back|Track5 Linux is working too
Fixing the packet injection for the Broadcom now.
sconsylman said:
Oh yeah, and Back|Track5 Linux is working too
Fixing the packet injection for the Broadcom now.
Click to expand...
Click to collapse
. Keep us posted on that. Should be pretty handy.
Wait. why do we need LInux to run on our phone?
Can someone explain?
Android doesn't come with most of what this has:
http://www.backtrack-linux.org/
I know, but why do we need it?
Enlighten me
airfluip1 said:
Wait. why do we need LInux to run on our phone?
Can someone explain?
Click to expand...
Click to collapse
I've seen this comment on every single thread online regarding Linux on Android. It's a joke right?

Linux kernel building how-to

I got this dang phone because I was told it was compatible with GSM networks and of course I was such a noob then. LOL, since then though I have taught myself a great deal in a short amount of time with endless nights searching all corners of the internet for links, hints, secrets and of course roms and kernels.
I dont care about a rom at this point I want and need a custom kernel for this phone I have no OS but when I run RUU it works fine-ish. I solve each problem as they come up but I am getting so tired of all the nonsense I have to do to this phone.
Unfortunately unless circumstances change I am stuck with it because I have had some major life changes and I cant afford another phone like I am on a romin and egg diet poor.
If someone could just cook up a kernel for this dang phone I will be forever grateful. I will test, logcat whatever u want to make it easier for u just help please this.:fingers-crossed::fingers-crossed:
Device: K2PLCCL pvt ship s-off RL
CID-11111111
Hboot 2.21
Radio 1.12.00.1029
OpenDSP-v10.2.0268.0401
eMMC1024 mb
Fant0m3 said:
I got this dang phone because I was told it was compatible with GSM networks and of course I was such a noob then. LOL, since then though I have taught myself a great deal in a short amount of time with endless nights searching all corners of the internet for links, hints, secrets and of course roms and kernels.
I dont care about a rom at this point I want and need a custom kernel for this phone I have no OS but when I run RUU it works fine-ish. I solve each problem as they come up but I am getting so tired of all the nonsense I have to do to this phone.
Unfortunately unless circumstances change I am stuck with it because I have had some major life changes and I cant afford another phone like I am on a romin and egg diet poor.
If someone could just cook up a kernel for this dang phone I will be forever grateful. I will test, logcat whatever u want to make it easier for u just help please this.:fingers-crossed::fingers-crossed:
Device: K2PLCCL pvt ship s-off RL
CID-11111111
Hboot 2.21
Radio 1.12.00.1029
OpenDSP-v10.2.0268.0401
eMMC1024 mb
Click to expand...
Click to collapse
I can help you through a PM on how to set your computer up properly so you can build a kernel yourself. Can begin building it without modifications then when ready, start adding some patches which in most cases is merely just copying and pasting assuming the patch is compatible.
It really isn't difficult.
You need linux installed firstly if running windows.
Sent from my C525c using Tapatalk
U ROCK!!!!!
Modding.MyMind Won't be from me lol. Just found out this morning that I am going to be a father.
Sent from my C525c using Tapatalk
Congrats man I have a bundle of kids love them all my newest one is 3months....:good:
So u helping me would be amazing. You are using the word not hard about k2plc. Anything and everything about this phone is difficult except the hardware....lol. So I did some real heavy research today about my errors on flashing, why things won't go to my device and why I keep getting mount errors. It's the kernel as we all know, but I don't think it will be as such a daunting task to create one I mean once I know what I am doing.
Brief rundown I was bait and switched into this phone long story there. I have recently had a string of bad luck so I'm strapped to find a new one. Everything that I know I've learned over the last two months with a ton of trial and errors many bricks conquered and many triumphs achieved.
With that said I do get lost a bit on terminology and stuff. But I unlocked bootloader installed adb both wired and wireless.
Super cid phone 2twice two different ways lol. Last one stuck cause I turned off the ota odex. Flashed three roms all with the same problem no data and no mms. So some patients may be in order.
Also about linux I thought it was I am just not SElinux I downloaded this
arm-eabi-4.6-d73a051b1fd1d98f5c2463354fb67898f0090bdb.tar and this just recently and ran them as well. Am I suppesed to run them to phone or computer...the Java commands confuse me like crazy right now as I am still new.
Now back to what I researched. I found this file it talks all about SElinux and how it effects your kernel. Cant we just in some way disable those two or three scripts that is blocking from converting and flashing roms, boots. and zips.
selinuxproject.org/~jmorris/lss2011_slides/caseforseandroid.pdg
PM me modding and I will give you my email...I check that more often.
I've learned that our Kernel is SElinux blocked and u have to know and use proper toolchain to bypass this. sorry cant post links yet
@Fant0m3, I'm pretty sure your device is not using selinux. You can confirm just by opening up es file explorer on your device and selecting, "/", which from their you will see "file_context" amongst others. Our kernel source comes with selinux in it, but selinux is not enabled through the defconfig file from the source. You would have to modify that file, build your kernel, flash/install kernel, then at that point you would have selinux support. However, I seriously doubt your kernel is using selinux.
In addition, do not flash any Rom to your device unless the Rom is specific to your device. You can't just use roms from other devices. It does not work that way. If it did, then there would be no need for the HTC One SV, the HTC One M8, the Samsung Galaxy, etc, etc. There would just be one android phone like you see with the iPhone, however, this is obviously not the case.
The toolchain is required to build your kernel from source. And 4.6 is exactly the one you properly need to build your kernel.
Anyways, hope some of this was helpful/useful insight.
Edit: Open a terminal (ctrl + alt + t). First install the necessary packages; copy paste the code below and hit enter. This will set up your linux system for proper development, like building a kernel for example.
Code:
sudo apt-get update && sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib
Sent from my C525c using Tapatalk
@ ModdingMyMind
Okay lol I was half asleep writing that last night.
When I am in recovery mode, I run TWRP 2.7.0.1 and when I bring up the logcat it say Kernel lacks support for reading SElinux. When I was reading that article, which it will not allow me to link yet otherwise I would, it was saying that the kernel was built with linux support but was built with SElinux support.
Either way not that big of deal. I am willing wanting to learn how to build a kernel and hopefully more as I learn and continue to learn
I flashed those other roms before I realized that I shouldn't run them on this phone. But I was under the impression that we can and thats part of the reason we root our phones is to run AOSP roms. The reason we cant with this phone is because there isnt an kernel built to read such open sources. Also and AOSP rom to my understanding is basically just replacing all your visual effects and removing the stock one. Basically the same thing like GOlauncher or NextLauncher does but its better cause u eliminate the processes from your stock rom so it doesnt bog your system down. I could and can be wrong I am a lot with this new found interest in Android applications.
so what is that code you posted. Please forgive me I am a noob and dont get the lingo and kinda need layman's terms for things and explanations. I learn very quick though so explaining the process once should more than suffice. I am only recently divulging into the forums cause I am more comfortable with my abilities and refrained from sounding like a complete NOOB.
Ubuntu?
Okay I have def heard the name did not know and was a bit confused on what it was. Now I know <---- told u NOOB who learns on his own lol. I am downloading now but I already have a program I think that does the same thing "phantomjs" and no relation to my name I have used my online name for 20 years lol.
Now does this program do the same thing and should I even install ubuntu.
What is the best way to designate which device to download stuff to I find this has been coming up lately usually people just say download this...blah blah blah. But never designate the best path or device to use for the download. NOOB remember. I usually figure it out but adds more time to my process as I then have to research something else. I am getting the hang of it though.
Also is there an application out there that will designate what system will run what applications and download them into the corresponding folder to either be transferred to the proper corresponding folder i.e.:
Microsoft applications go to microsoft folder.
Linux goes to a Linux folder or a fold you created for linux apps.
Android goes to a android folder.
Mac goes to some apple folder if u choose to work on Iphones and such.
If not this seems like a very oversighted program that could easily be created/tested/deployed and would be very useful to keep your computer clean.
Excuse me but my mind works a billion times a minute and this is why I want to divulge myself in this stuff because there is never an end to the useful things that could be created.
Why I am on that again why the play store more interactive to your mobile device it seems just a few scripts and build files and they could diagnose what phone is being used and only show and promote to u which applications are compatible with said phone...excuse me for rambling
:silly::cyclops:
To build from source such as a kernel for example it is highly recommended you install a linux distro. I personally use Ubuntu myself.
Your TWRP says their is no SElinux support from the kernel because the kernel used to build the twrp you are currently using was not built with SElinux support itself. The kernel source has to be modified in order to add SElinux support and therefore TWRP to show that there is SElinux support detected. I know, because I had to do this for my TWRP build .
I'm at work so I have only skimmed through some of your posts. Haven't read it all which is why my response is currently short.
Sent from my C525c using Tapatalk
Modderator
Just wanted to say to the moderator that I believe this conversation should be moved i.e. posted in its own thread for linux kernel building I am sure I am not the only noobish person looking for help in doing or building a kernel.
Alright, I'm back. In regards to AOSP. It won't just simply work for any device even if the kernel is modified for proper support. AOSP is a large open source project. Just like CM, OmniRom, etc. The source has to be download, then you must put together a device tree which is basically a bunch of ".mk" files along with things which are needed specifically for your device. Would go in grave detail about this, but that is a tutorial in itself. Nevertheless, once all that has bee setup, you proceed to build the Rom then install to your device and proceed to work out any bugs (which there will be bugs).
I do not use windows. I use linux. Linux is required in order to build/develop kernels, Roms, etc. If you are using windows then you must either split your system for dual booting between windows and linux or you must run a virtual program that will allow for linux to operate on your computer while also running windows at the same time. I HIGHLY RECOMMEND you remove windows and do a clean install of linux if you plan to develop.
Sent from my C525c using Tapatalk
---------- Post added at 10:19 PM ---------- Previous post was at 09:42 PM ----------
To build a kernel, it must be done on linux. You need an arm toolchain. For our kernel source, arm-eabi-4.6 is recommended. To use a different toolchain other than that would require you to make some changes to the kernel source to prevent build errors.
You have to export the path to your toolchain.
Here is a script I use when building my kernel. Study it and it should be helpful for you.
PHP:
#!/bin/bash
#######################################
# Remove prebuilt kernel from last build
#rm ~/cm11/kernel/htc/k2_cl/output/kernel/zImage
if [ -e zImage ]; then
rm zImage
fi
#######################################
#######################################
# Remove logs from last build
rm kernelcompile.log
rm modulecompile.log
#######################################
############################################################
# Set Default Path's here!
TOP_DIR=$PWD
# KERNEL_PATH is the folder where your kernel source is located.
KERNEL_PATH="/home/moddingmymind/cm11/kernel/htc/k2_cl"
# STRIP is the strip brinary from the toolchain to strip unneeded symbols after the build is finished to help reduce size.
STRIP="/home/moddingmymind/arm-eabi-4.6/bin/arm-eabi-strip"
# OUTPUT is the folder where I place my finish builds.
OUTPUT="/home/moddingmymind/cm11/kernel/htc/k2_cl/output"
# Set toolchain path here! This will be the directory to your current toolchain.
TOOLCHAIN="/home/moddingmymind/arm-eabi-4.6/bin/arm-eabi-"
############################################################
#######################################
# KBUILD_BUILD_VERSION will set the name of the final build.
export KBUILD_BUILD_VERSION="JesusFreak"
# KERNELDIR is the path to the folder where your kernel source is located at.
export KERNELDIR=$KERNEL_PATH
#######################################
#echo "Cleaning latest build"
# make is a simple command needed to build makefiles.
# ARCH is simply telling it what type of architecture the machine is.
# CROSS_COMPILE is merely pointing the building process to the actual toolchain needed to make this work.
# The following is simply determining how many processors your computer currently has and applies that to "-j#" where "#" is your total processors. This reflects the speed of your build.
make ARCH=arm CROSS_COMPILE=$TOOLCHAIN -j`grep 'processor' /proc/cpuinfo | wc -l` mrproper
# Making our .config
#Sources will always have a defconfig file. For the kernel, you MUST make your .config file specific to your device or your build WILL fail.
make k2_cl_defconfig
# Make our menuconfig before proceeding with the build.
# This will bring up a window where you can make neceassary changes to your kernel source through a gui implementation prior to building your source.
make menuconfig
# Make Kernel using proper number of processors and store verbose in log file for review.
make -j`grep 'processor' /proc/cpuinfo | wc -l` zImage ARCH=arm CROSS_COMPILE=$TOOLCHAIN >> kernelcompile.log 2>&1 || exit 1
# Make Modules using proper number of processors and store verbose in log file for review
make -j`grep 'processor' /proc/cpuinfo | wc -l` modules ARCH=arm CROSS_COMPILE=$TOOLCHAIN >> modulecompile.log 2>&1 || exit 1
# make ARCH=arm CROSS_COMPILE=$TOOLCHAIN -j4 modules >> modulecompile.log
# Copying kernel modules after making install of modules
sudo make modules_install
mkdir $OUTPUT/tempo;
cp -r '/lib/modules/3.4.10.JesusFreak/kernel' $OUTPUT/tempo/;
sudo rm -rf '/lib/modules/3.4.10.JesusFreak';
find $OUTPUT/tempo/kernel/ -name '*.ko' -exec cp -av {} $OUTPUT/modules/ \;
rm -rf $OUTPUT/tempo;
# Strip modules
cd $OUTPUT/modules
$STRIP --strip-unneeded *.ko
# Copy Kernel Image
rm -f $OUTPUT/$KBUILD_BUILD_VERSION.zip
cp -f $KERNEL_PATH/arch/arm/boot/zImage $OUTPUT/prebuilt/zImage
# CREATE A ZIP which is prebuilt for flashing in the recovery to install and use.
cd $OUTPUT
zip -r $KBUILD_BUILD_VERSION.zip *
# Remove builds after the zip is completed.
rm -f $OUTPUT/prebuilt/zImage
rm -f $OUTPUT/modules/*.ko
Sent from my C525c using Tapatalk
okay sweet
Okay so it seems I should have known this information before even making it this far with my phone lol...
So Ubuntu is not like a emulator I run over windows it is yet another more developer friendly system software correct? If it's true then it would be easier running and familurizing myself with the linux systems and it's applications. I'm dead serious on working towards development. It's finally something to ease the busy mind.
Could u point me in the right direction to what kinda hardware would be best suited for this type work. My business model is almost finished but I need research on the proper systems and costs for the personal business loan that I will be applying for. I'm currently just using dual laptops and a phone.
Yes the one SV. As much as this phone has troubled me it has almost helped in a way because of the frustrations that go along with it.
I am also at work so my grammer is probably horrid as I am on my phone.
Thanks for the patients and lessons this stuff is definitely not for those easily detered.
Hardware isn't a big to do issue when building a kernel. However, it is usually recommended to have a SDD vice HDD. This will run much faster and smoother while handling your sources. It is also suggested to have at least 6 gigs of ram or more. However, I use my laptop which currently only holds 2 gigs of ram and roughly 200 gigs for storage on my computer. In other words, my laptop is very weak, but I can still develop with it without any problems. Just have to be cautious of the laptops temperature to insure I don't kill it lol.
You can go to Ubuntu website. They have the system you can download to install on your computer. They also have a very detailed instruction on how to remove windows properly and how to install ubuntu properly. Make sure you save important stuff as needed because wants you remove windows everything will be lost.
Sent from my C525c using Tapatalk
Sorry
I went a bit MIA for a bit my work schedule, plus my ex wife and everything with my minions got me scattered I am still interested and working on wanting to go down this path and maybe further as I expand my knowledge. I will hopefully soon find some time to jump back in but I will most likely be stuck till this weekend without diving into this project. I do have another laptop that I plan to use for linux and will get it all set up and try to follow steps to with Ubuntu and u @moddingMyMind. Hopefully soon we can get this done. lol.....I was wondering if we could create a more generic one for other to download and flash into their system as well if not its cool I will just stick with mine.
Nah, a generic one won't happen. At best, you could make your patches for your source, then apply those patches to their sources. Build all of them, then create a flashable zip which will systematically determine which device is which as to allow itself to properly determine which kernel it should write to the device as well as to which proper partition. Wouldn't be that hard to put something like that together though.
I'm currently busy myself. I was successful at compiling GraphicsMagick for my device and am currently writing a shell script which will pick up all images from a twrp theme, determine their original sizes one by one, then determine their new sizes and finally making the changes to properly resize each image for it's ending porting results. It's almost done. I just need to figure out a script for handling the ui.xml so I can be complete with my project and thus be able to port TWRP themes in just minutes vices HOURS and even days in some cases if I am taking my sweet time.
Sent from my C525c using Tapatalk
That's awesome I'm still afraid to try a theme for teepee lol that is my life line as of late.
I was thinking though is there an app for your file system that will clean up any repeated files like let's say music or busybox applets and so on and so on. This would save me tons of time and storage space..... I think I may need a how to for dummies book lol... Just when I feel I have it figured out basically then I discover something new Smh...
BTW good luck I can test dummy things if needed as well
Sent from my HTC One SV using XDA Free mobile app
Fant0m3 said:
That's awesome I'm still afraid to try a theme for teepee lol that is my life line as of late.
I was thinking though is there an app for your file system that will clean up any repeated files like let's say music or busybox applets and so on and so on. This would save me tons of time and storage space..... I think I may need a how to for dummies book lol... Just when I feel I have it figured out basically then I discover something new Smh...
BTW good luck I can test dummy things if needed as well
Sent from my HTC One SV using XDA Free mobile app
Click to expand...
Click to collapse
A little trick to saving space with busybox on your phone.... Don't install it with symlinks which creates all those applets. Instead, just grap an app from the play store if you want which will supposedly install busybox and rename the app from .apk to .apk.zip. Extract the contents and you will find the busybox binary. Place the binary in /system/bin and give the binary permissions of either 755 or 777. Then to use busybox applets just type busybox for a list of commands. To use busybox for example would be like this:
busybox mv -f /sdcard/name.txt /sdcard/newname.txt
mv is an applet from busybox which will move files and stuff. But you can also use it to rename files which is what I demonstrated. Much more proficient than having a bunch of applets filling up your folder. However, be cautious when taking this route and using other peoples scripts. Most people, to include myself, will write scripts which may use busybox applets but will not call the applet with 'busybox'. So, if the applet is not symlinked to busybox then you may come across problems with the script. Easy fix though. Just open up the script and find all commands which are calling on busybox applets and just add 'busybox' before it, then save.
Sent from my C525c using Tapatalk
Again I have a dumb question but I'm lost with git hub and the git emulator. I followed a guide for compiling a kernel and I did what it asked but this seems routine any monkey can plug in data I wanna know how to actually download the toolchain and run it. Or is there like a dummies guide to what does what and how it works I have to be missing just simple steps
Sent from HTC One SV
k2plc----cricket version
deodexed-mod pack 5
unlocked-super cid-soff
Open up the terminal on your linux system.
Type and enter,
Code:
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
When you enter that, it will clone the toolchain for 4.6 to whatever directory you are currently in, so now sure you change directories if you wish to have the toolchain cloned (downloaded) to a specific location.
Sent from my C525c using Tapatalk
---------- Post added at 07:22 AM ---------- Previous post was at 07:19 AM ----------
To direct the toolchain to your systems path so you can call on it then type and enter:
Code:
export PATH=$(pwd)/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH
Sent from my C525c using Tapatalk
---------- Post added at 07:25 AM ---------- Previous post was at 07:22 AM ----------
To build your kernel,
Code:
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
cd path/to/kernel/source
make k2_plc_cl_defconfig
make zImage
make modules
Now, go experiment lol.
Sent from my C525c using Tapatalk
---------- Post added at 07:28 AM ---------- Previous post was at 07:25 AM ----------
The kernel binary is output as: `arch/arm/boot/zImage
To see where the modules are built go and look at the "buildme.sh" script I use for my kernel and it will show you the directory to grab them. They will be needed or else your WiFi won't work if you install your newly built kernel.
Sent from my C525c using Tapatalk
1045
Don't know if i'm late to the party ,so to get things straight .Is anyone still willing to work on this i'm interested too.

[Q&A] [DEV][WIP] xubuntu on tf300tg 0.1.2 (updated 130408)

Q&A for [DEV][WIP] xubuntu on tf300tg 0.1.2 (updated 130408)
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [DEV][WIP] xubuntu on tf300tg 0.1.2 (updated 130408). If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
cannot boot into xubuntu
Hello guys.
I'm having a problem trying to make everything working. I tried to follow the webdoctors instructions and somehow things went wrong.
First of all, I installed v2.2.9 kernel using TWRP. Then, I split my microSD cart into partitions under gparted, then I used dd to copy from img to first card's partition. To this point everything went well. I tried to boot into xubuntu - it worked. But I had no internet connection and couldn't run mod_update.sh under xubuntu. Then, I decided to reboot system. And I couldn't go back into xubuntu - I'm choosing linux [1], and then there are some lines and it looks like it's stuck on lines like
Code:
init avahi-deamon terminated (or something like that)
...
pad_get_pspval->inval=Not charging ret=0
pad_get_psp voltage_now=8060
pad_get_psp ...
asuspec: [asuspec_enter_s3_work_function] EC in S3
I can boot into android without any problem, but WiFi isn't working. I've tried to format my card, put files from rootfs for a couple of times, and it worked only twice, rest of it just shows lines of code I mentioned.
I hope I managed to write everything clearly I receive some help from you!
xubuntu 14.04 working
[It seems as a new member I cannot post to the dev thread directly, but to an associated Q&A thread. I hope the people that might be interested in this post can read it anyway.]
I have been running xubuntu 14.04 on my Asus TF300T for some months now. As other people seem to have difficulties with this I want to share how I got this to work. My own contribution in this is quite small. It mostly consists in combining in a particular way the great work others here on xda have done.
About my methodology: I am neither expert in the relevant hardware nor software. Also I like things to be reproducible and portable. So I try to start from the most standard ingredients (official sources, standard linux distrubtions etc.) and modify them in small independent and documented modular steps until I get things to work.
In this post I will present only a very brief outline of how I proceeded. I hope to present more details in later posts.
KERNEL:
I am using a boot menu setup with kexec hardboot. Thus, for linux I am using a dedicated linux kernel, not a dual purpose linux/android kernel. The kernel is based on the official Asus source with a few small patches. I am not sure the patches are relevant for 14.04 to work, but they might be. I will describe them in a later post.
ROOTFS + INITRAMFS:
The initial rootfs is simply the official ubuntu core 14.04 armhf image found at the official ubuntu site [cannot post link].
On top of this the kernel config in /boot and modules + firmware in /lib/modules and /lib/firmware have to be installed. Also a few other small files for wifi + bluetooth to work can be installed at this stage or later.
The initial initramfs is generated through a chroot from this image via the standard update-initramfs tool. For this to work properly only a tiny configuration file that indicates the linux root partition is needed in /etc/initramfs-tools/conf.d
In subsequent stages new versions of the initramfs can always be generated directly from the booted linux image via update-initramfs.
The chroot can also be used to download all required packages for the full install via
> apt-get -d install "packagename"
This requires having set /etc/apt/sources.list and possibly /etc/resolv.conf /etc/hosts /etc/hostname
X11:
As everybody knows X11 is a problem with tegra graphics. Fortunately, drivers are available at Nvidia's Linux for Tegra Site [cannot post link].
Unfortunately, these cover only X11 ABI up to version 14, while X11 in 14.04 is using ABI 15. What is more, I have experienced graphics corruption issues with the ABI 14 driver so I am actually using the ABI 13 driver. That means in addition to installing the relevant files from the nvidia site it is necessary to downgrade X11 for 14.04. I got this to work with the following packages:
- from 12.04:
libxi6 (this is more up to date than the 13.04 version)
- from 13.04:
xserver-xorg-core
libxfixes3
xserver-xorg-input-evdev
xserver-xorg-input-multitouch
xserver-xorg-video-dummy (might not be necessary)
- from 13.10:
libgl1-mesa-dri
Also you need the package xserver-xorg-input-mtev
sources are at rabits launchpad site [cannot post link]
SECOND STAGE:
After setting up a user, downloading desired packages (in particular "xubuntu-desktop"), making available the X11 packages etc. boot into the new system as the new user. Now install the X11 packages, set some of them on hold (apt-mark hold), for me it worked by marking xserver-xorg-core, libxfixes3 and libgl1-mesa-dri. Afterward you might need
> apt-get -f install
Then install xubuntu-desktop and possibly further required packages, then generate a new initramfs. Also further stuff needs to be / can be installed at this stage for audio, video, codecs, keyboard etc.
The next boot should then land you in a fully working xubuntu 14.04.
Good news! Could you upload your image xubuntu 14.04?
aurel33 said:
Good news! Could you upload your image xubuntu 14.04?
Click to expand...
Click to collapse
The image I am using myself is quite a mess now, after many months of use. Stripping this to the essentials and removing all personal stuff would be quite some work. What I rather want to do is share a procedure that should allow anybody to generate his/her own customized image. My previous post was extremely brief in this respect, but I hope to give more details in a follow up post. The next post, however, will be dedicated to the kernel I use as there are two patches that might (or might not) be relevant for 14.04 to work.
kernel for xubuntu 14.04
[I am sorry for not including the relevant links. As a new member I am not allowed to post links.]
As I said I am using a dedicated linux kernel, not a dual purpose linux/android kernel.
I am using the toolchain from ubuntu package "gcc-arm-linux-androideabi".
Instructions: Download the official Asus kernel source and get the toolchain ready.
Apply the following patches (attached):
toolchain/config patches:
- toolchain.patch : a minimal patch to solve toolchain dependent compliation issues
- modmake.patch : compile modules with option "-fno-pic"
- compressed_makefile.patch : also to solve toolchain issues (I found this in various places)
- bcm.patch : complete Kconfig for modules "bcmdhd_29" so none of "bcmdhd", "bcm43xx", "bcm4329" needs to be selected
proper kernel patches:
- mored.patch : patch to see console information at boot (from xda contributer "moreD")
- subreaper.patch : patch to update certain process information/signals to kernel 3.4 (from Lennart Poettering)
- 0001/2/3-AppArmor-... : update kernel to make apparmor work properly (from John Johansen)
- grouper-f2fs.patch : use this in case you want to add f2fs support (from Alex Page)
My kernel config file "config.txt" is also attached.
Now set environment variables:
KBUILD_OUTPUT=<outdir> directory for compilation output and config files
INSTALL_MOD_PATH=<libdir> directory for module and firmware installation
INSTALL_PATH=<bootdir> directory for kernel installation
In case of cross compilation set additionally:
ARCH=arm
CROSS_COMPILE=arm-linux-androideabi-
Now compile:
make -j4 all
make modules_install
make firmware_install
make zinstall
I am not sure if any of the above patches is essential to get xubuntu 14.04 running, but I suspect that the subreaper patch and the AppArmor patches might be important. The reason I use them is that I got errors in previous attempts of installing (x)ubuntu that after some research I found got fixed with these patches.
Happy compliling!
Can you please give me step by step instructions on how to install Ubuntu 14.04 on my TF300T?
Sent from my TF300T using XDA Free mobile app
rootfs for xubuntu 14.04 - PART 1
Here I describe in more detail the first part of the installation of the root file system (rootfs) for xubuntu 14.04 on the Asus TF300T. I will assume that the installation is to the root of an empty partition.
I. PREPARE ROOTFS:
1. CORE ROOTFS: Download the file
"ubuntu-core-14.04.1-core-armhf.tar.gz"
from the Ubuntu repositories. (Search for "ubuntu core" to find the site, I cannot post the link.) Extract this to the xubuntu partition. This is the initial rootfs.
This rootfs already works in a chroot, either from an existing linux installation or from Android. However, for this to be more useful we need to set up internet access and repositories.
2. INTERNET SETUP: Extract the attached file "inet-setup-trusty.tar.gz" into the rootfs. This sets up the relevant ubuntu repositories and fixes DNS lookup and gives the machine a name. Here I chose "tf300t-linux". To change the name, edit the files "/etc/hostname" and "/etc/hosts".
Before entering the rootfs via chroot, we set up more infrastructure for the ability to later run the rootfs stand alone. This requires a kernel.
3. KERNEL SETUP 1: Extract the kernel modules into "/lib/modules/..." and the kernel firmware into "/lib/firmware/...". If you compiled the kernel youself, these files will have been generated in the process. If you take the kernel from elsewhere these files have to be provided with the kernel.
4. KERNEL SETUP 2: To ensure relevant modules are loaded at boot, a file "/etc/modules" might be needed. This depends on the kernel. Assuming you compilde the kernel following my instructions in a previous post, just extract the attached file "initmodules.tar.gz" into the rootfs.
We shall later use "update-initramfs" to generate the initial ram file system, a file named "initrd.img". For this to work we need the following:
4. KERNEL SETUP 3: Put the kernel image into "/boot/". It should be called "vmlinuz-3.1.10" or similar. Also put "config-3.1.10" and "System.map-3.1.10" into this directory. These are also generated when compiling the kernel. I am not sure if "System.map-3.1.10" is required. "config-3.1.10" can be extracted from the kernel image if not provided. (See instructions elsewhere.)
5. INITRD CONFIG: For "update-initramfs" to work correctly a configuration file is needed indicating the root partition. This goes into "/etc/initramfs-tools/conf.d/". You might just extract the attached file "initramfs-mmcblk1p1.tar.gz". This assumes that xubuntu uses the partition "mmcblk1p1" with "ext4", i.e. the first partition on the external micro sd card and fomatted with the "ext4" file system. If you use a differnt partition and/or file system, edit the included file "/etc/initramfs-tools/conf.d/specify_root_device" accordingly.
6. WIFI: For wifi to work you need a file "nvram.txt". This is located under Android in "/data/misc/wifi/nvram.txt". Copy this to the rootfs at "/lib/firmware/nvram.txt" if you use the kernel I describe in a previous post. Otherwise the required location might be different. You can read it off in the kernel config file "config-3.1.10". (Search for "*NVRAM_PATH*".) Also you need firmware files. Under Android these should be under "/system/vendor/firmware/". Copy them to "/lib/firmware/" or see the location in the config file (search for "*FW_DIR*"). Note that these files include subdirectories, copy with subdirectories.
7. BLUETOOTH: You need a firmware file. This should be in Android under "/system/etc/firmware/". Its name should start with "BCM4329...". In the rootfs name this "/lib/firmware/BCM4329.2.hcd". You need an executable called "brcm_patchram_plus" which loads the firmware dynamically. This goes in the rootfs into "/usr/sbin/brcm_patchram_plus". Go to the site of the Linux for Tegra R16 project of Nvidia. Download "Tegra30_Linux_R16.4.0_armhf.tbz2". Inside look for "Linux_for_Tegra/nv_tegra/nvidia_drivers.tbz2". Inside this you find the executable "/usr/sbin/brcm_patchram_plus". You need a process that automatically calls this executable. It is convenient to integrate this with ubuntu's upstart. To this end just extract the attached file "nvbt.tar.gz". It yields a file "/etc/init/patchram.conf". I have adapted this file from previous work on xda on bluetooth for linux on the tf300t or tf700t (but can't find the post now). Modify this if you want to change the name or location of the firmware file.
8. GENERAL CONFIG: To fix some general configuration parameters for the tf300t extract the attached file "nvinit.tar.gz". This yields a file "/etc/init/nv.conf". Again, this is from prvious work on xda for the tf300t or tf700t (but I can't find the relevant post now).
II. ENTER ROOTFS:
I suppose you have mounted the partition for xubuntu at "/mnt/linux", either under an existing linux or under Android.
> LC_ALL=C sudo chroot /mnt/linux
update repositories:
> apt-get update
this is useful for a smooth installation of packages:
> apt-get install dialog
now install upgrades:
> apt-get dist-upgrade
create your user:
> adduser username
> addgroup username adm
> addgroup username sudo
generate initramfs and leave chroot:
> update-initramfs -c -k 3.1.10
> exit
This generates a file "/boot/initrd.img-3.1.10". This file together with the kernel image are needed to boot into the newly set up system.
III. BOOT ROOTFS:
You should now be able to boot into the system. How this is done depends on your set up. There are lots of threads on xda devoted to this subject. You should now have a functional minimal linux system based on ubuntu 14.04.
If you want to install packages it is convenient to download these from the chroot (where wifi is available) and before booting into the system as follows:
> apt-get -d install package1 package2 ...
Then after booting, install them via,
> sudo apt-get install package1 package2 ...
The details of the further set up of the GUI and of the full xubuntu 14.04 will be described in a subsequent post.
rootfs for xubuntu 14.04 - PART 2
Here I describe the second part of the installation of the root file system (rootfs) for xubuntu 14.04 on the Asus TF300T. I assume the rootfs has been prepared as described in this post, following the steps "I. PREPARE ROOTFS" and "II. ENTER ROOTFS", but not booted yet. If it has already been booted it might (or might not) be necessary to rewrite the file "/etc/resolv.conf" to the version contained in the file "inet-setup-trusty.tar.gz" from that post. This is to ensure internet access works correctly from chroot.
I. GET REQUIRED PACKAGES
The most complicated part of getting xubuntu 14.04 to work is in the graphics drivers and libraries. Mostly, the necessary files are found on the page of the "Linux for Tegra R16" project of nvidia. Look for the Tegra 30 "Cardhu" versions. As described in my first post, the problem with this and Ubuntu 14.04 is that this version of Ubuntu uses an X server with ABI version 15. An appropriate driver is not supplied by nvidia. The latest driver version supplied by nvidia is with ABI version 14. However, I had problems with graphics corruption with this driver, so I am using the one for ABI version 13. There is a ready made package containing this in the ubuntu 13.04 repository. Get this. The filename is:
"nvidia-tegra3_16.0-0ubuntu3_armhf.deb"
(I compiled a version of this with updated source files using nvidia's latest release "16.4" for my own use, but it is somewhat complicated to do this, so I wont put the details in this post. Anyway, this version should work for most purposes.)
Since we need the X server with ABI version 13, we need to install corresponding packages that are not from ubuntu 14.04, but from previous releases. Grab the following packages:
RELEASE PACKAGE FILENAME
12.04 libxi6 libxi6_1.7.1.901-1ubuntu1~precise1_armhf.deb
13.04 xserver-xorg-core xserver-xorg-core_1.13.3-0ubuntu6.2_armhf.deb
13.04 libxfixes3 libxfixes3_5.0-4ubuntu5.13.04.1_armhf.deb
13.04 xserver-xorg-input-evdev xserver-xorg-input-evdev_2.7.3-0ubuntu2b2_armhf.deb
13.04 xserver-xorg-input-multitouch xserver-xorg-input-multitouch_1.0~rc2+git20110312-2build3_armhf.deb
13.04 xserver-xorg-video-dummy xserver-xorg-video-dummy_0.3.6-0ubuntu1_armhf.deb (this might not be needed)
13.10 libgl1-mesa-dri libgl1-mesa-dri_9.2.1-1ubuntu3_armhf.deb
There is another package needed for the X server for the touchscreen to work. Build instructions can be found on the GitHub page of user "rabits" under "tf700". I have attached the resulting package "xserver-xorg-input-mtev". Uncompressing yields:
"xserver-xorg-input-mtev_0.1.13ubuntu2_armhf.deb"
II. PLACE PACKAGES
1. Put all the 9 package files for the x server into a directory in the rootfs.
2. Enter the rootfs via chroot from Linux or Android (supposing the parition of the rootfs is mounted at "/mnt/linux")
> LC_ALL=C sudo chroot /mnt/linux
3. Go to the directory with the X server packages. Then install them:
> dpkg -i filename1 filename2 ...
4. IMPORTANT! Prevent relevant packages from being updated:
> apt-mark hold xserver-xorg-core
> apt-mark hold libxfixes3
> apt-mark hold libgl1-mesa-dri
5. Pull in dependencies:
> apt-get -f install
6. Get xubuntu packages (this takes some time depending on the speed of your internet connection) and leave:
> apt-get -d install language-pack-en
> apt-get -d install xubuntu-desktop
> exit
III. XUBUNTU INSTALL
Now, boot the rootfs.
1. Set timezone
> sudo dpkg-reconfigure tzdata
2. Install language pack to avoid locale problems
> sudo apt-get install language-pack-en
3. Install xubuntu. (This takes some time)
> sudo apt-get install xubuntu-desktop
4. Produce a new initrd.img and exit
> sudo update-initramfs -c -k 3.1.10
> sudo shutdown now
Copy this from /boot/initrd.img-3.1.10 to where its needed for the boot process.
IV. FURTHER CONFIG
1. FIX AUDIO CONFIG PROBLEMS
Extract attached file "nvaudio.tar.gz" to the rootfs.
2. SET UP X INPUT DRIVERS
Extract attached file "xorg-input.tar.gz" to the rootfs.
V. BOOT XUBUNTU
Booting the rootfs should land you now in a fully working xubuntu 14.04.
There are further steps to improve the experience such as
- install nvidia codecs and player
- fix graphics corruption on resume from suspend
- install keymaps for a better keyboard experience with the dock
I hope to describe some of this in later posts in so far as it differs from solutions that other xda members have already proposed.
A final remark:
THE IDENTICAL PROCEDURE SHOULD WORK FOR INSTALLING LUBUNTU.
(Just replace "xubuntu-desktop" with "lubuntu-desktop", I have tested this once)
It does not work with standard Ubuntu (i.e. Unity) though, because that depends on the newer X server.
@Geometry
Is there any chance, that you would share your working rootfs (ofc fresh build) and others can use it? Or everyone has to follow your guide to have working rootfs and it cannot be shared?
mentosso said:
@Geometry
Is there any chance, that you would share your working rootfs (ofc fresh build) and others can use it? Or everyone has to follow your guide to have working rootfs and it cannot be shared?
Click to expand...
Click to collapse
I would certainly be happy to share a working rootfs (understandably not the one I have been using myself for the last couple of months though). Unfortunately, I can spend very little time on this. So it is a question of finding the time to prepare a new build, then finding a free file hosting service etc. I will try to make an effort to make this happen in the near future, but can't promise anyhing at this point...
can you go more in depth in how you installed the kernel? I get some of the basics but I don't understand how to install it.
phonegeekjr said:
can you go more in depth in how you installed the kernel? I get some of the basics but I don't understand how to install it.
Click to expand...
Click to collapse
Sorry for being very brief in this respect. One way to install the kernel would be to use the "abootimg" tool to combine the kernel with a initrd.img file into a boot image, then convert this to a blob file using "blobpack" and then flashing this to the tablet. However, this would leave you unable to run any other OS/ROM (such as any Android). So this is probably not what you want. Instead you want some multiboot/multirom system. What I use myself is a modified version of the boot kernel from the main thread which starts a script that gives me a menu and then boots the kernel/initrd.img I select via kexec-hardboot. To "install" a kernel/initrd.img you just have to store them at a place where this script can find them. If I have time I might describe my particular setup in more detail later. But for the moment my main intention is to have those that already have a setup like this be able to test a full xubuntu 14.04. Then, with the help of those experts it will be easier to generate a way to make this accessible to a large number of users.
test kernel
I provide here a test kernel, compiled as described in this post. There is one small difference compared to the description in the post. It turns out that instead of the "arm-linux-androideabi-" toolchain, the "arm-linux-gnueabihf-" toolchain works as well and I have used that. Note that the kernel is a linux only kernel that will not work with Android. The attached file can be decompressed directly into the rootfs, automatically providing all essential files (modules, config etc.) in the right place. The (compressed) kernel itself is the file "/boot/vmlinuz-3.1.10". This is the file that is often named "zImage". The kernel config file is "/boot/config-3.1.10".
The other news is that I have also built a working xubuntu 14.04 rootfs as described in his post. As soon as I find a suitable file hosting service I will make this available here.
xubuntu 14.04 rootfs
So, here is the rootfs as prepared according to this post and this post. There is one small difference in the preparation as compared to those posts. I have used a modified and updated version of the package "nvidia-tegra3", see attached file.
So the rootfs file is called "tf300t-xubuntu-rootfs.tar.gz" and can be found here. Expand this into the partition you want to use for xubuntu 14.04. It is recommendable that you replace the file "/lib/firmware/nvram.txt" with you own version from your own machine at "/data/misc/wifi/nvram.txt" in Android.
This associated kernel is also in the rootfs at "/boot/vmlinuz-3.1.10". The initial ramfs is the file "/boot/initrd.img-3.1.10". This assumes linux is in first partition "mmcblk1p1" of the external micro sd card. The username is "ubuntu" with password "ubuntu".
If you want to use a different kernel (I hope other kernels will work too, please report!) then replace the module files under "/lib/modules" and possibly some firmware files under "/lib/firmware" as necessary. Also (!) put the kernel config file in "/boot/config-3.1.10". Then enter the rootfs via chroot and generate a new initrd.img via "update-initramfs -c -k 3.1.10". It will be replace the provided one.
Also, if you want to put this on a different partition edit "/etc/initramfs-tools/conf.d/specify_root_device" accordingly and generate a new initrd.img as described above.
As before I assume here that you know what to do with the kernel and the initrd.img...
Happy testing!
---
md5sum for "tf300t-xubuntu-rootfs.tar.gz" is: 46639d3af438e9c856d5951a321e203b
---
UPDATE: Here is an alternative download link for the rootfs which might provide faster download speed. Thanks to Graiden05!
@Geometry
Thank you a lot for your effort! I have a question tho, is it possible to run your rootfs and have dualboot? The best way would be to use dualboot kernel posted somewhere in the topic. If it's possible, can you briefly write how to do it?
Geometry said:
Sorry for being very brief in this respect. One way to install the kernel would be to use the "abootimg" tool to combine the kernel with a initrd.img file into a boot image, then convert this to a blob file using "blobpack" and then flashing this to the tablet. However, this would leave you unable to run any other OS/ROM (such as any Android). So this is probably not what you want. Instead you want some multiboot/multirom system. What I use myself is a modified version of the boot kernel from the main thread which starts a script that gives me a menu and then boots the kernel/initrd.img I select via kexec-hardboot. To "install" a kernel/initrd.img you just have to store them at a place where this script can find them. If I have time I might describe my particular setup in more detail later. But for the moment my main intention is to have those that already have a setup like this be able to test a full xubuntu 14.04. Then, with the help of those experts it will be easier to generate a way to make this accessible to a large number of users.
Click to expand...
Click to collapse
thanks
actualy converting it all to a blob file really is what I want to do. what is this program blobpack? I have googled it and didn't get much.
phonegeekjr said:
thanks
actualy converting it all to a blob file really is what I want to do. what is this program blobpack? I have googled it and didn't get much.
Click to expand...
Click to collapse
OK, so I assume you know how to use "abootimg" to create a boot image. "blobpack" converts this into a blob file that you can flash to the staging partition. For the blob tools see this thread. However, I had problems with the version of "blobpack" from that thread. Instead, a different version of "blobpack" worked for me. I got this by going to the cyanogenmod web site and following the instructions to built cyanogenmod for the tf300t. In the build process not only cyanogenmod is built, but various tools as well. This includes a version of blobpack, called "blobpack_tfp". This worked for me. Note that I did this almost a year ago. So I am not sure an up to date version of cyanogenmod yields the same. If you are just after the blobpack tool, downloading the complete source and building cyanogenmod is a huge overkill of course. But I guess you could browse through their sources online and find exactly what you need. Hope this info helps!
mentosso said:
@Geometry
Thank you a lot for your effort! I have a question tho, is it possible to run your rootfs and have dualboot? The best way would be to use dualboot kernel posted somewhere in the topic. If it's possible, can you briefly write how to do it?
Click to expand...
Click to collapse
I don't know of the rootfs works with this dualboot kernel. Actually, it would be great if somebody could test this! How to adapt the rootfs to another kernel is sketched in the post. However, some of the patches described here and not included in that kernel might be necessary for xubuntu 14.04 to work. But I'm not sure...
Another possibility would be to modify the kernel I described here for dualboot (or multiboot). This would require an additional kexec-hardboot patch and a modification of the initrd.img to include the kexec binary and a script that offers the boot menu.
---------- Post added at 17:01 ---------- Previous post was at 16:18 ----------
I have now announced the xubuntu 14.04 rootfs described in previous posts on the main thread here. I would like to encourage people to continue discussion there as I think that is the more appropriate place.
Hi
i would like to install xubuntu on my tablet.
I have not yet figured out what the starting point.
I currently have installed a cm11 official rom.
what i can do now? which are the steps to make dualboot working?
I can install android on the internal memory and xubuntu in sd card?
How can i make this work? I've to many doubts to start flashing and install stuffs right now.
Thanks in advance.

GetMeIn : One time rooting/jailbreaking tool for webOS LG TV's

Hello XDA,
After a long thinking i've decided to create a root or jailbreak tool for LG's awesome webOS, today am stating this thread to release this new root tool, but before that! am gonna ask you for some logs from webOS 3.5 and lower.
Everyone in this thread must know about webOS if not do your homework then get back again, LG did a great work on this operating system after HP and Palm's versions. they even supported Raspberry Pi module B. but webOS OSE aka Open Source Edition is really different from TV's version.
LG think about Security and frequently release updates that doesn't have anything new except some patches to close down known holes, one of my favorites was a directory traversal that can replace in tv files and binaries during install (partially closed recently).
let'stake a look at LG's partition filesystem types, on tv's they chooses to use ext4 for writable partitions (/var, some of /mnt/lg/*, /home and /media) everything else is using squashfs which is a read only compressed filesystem you cannot modify it.
If you can dump the squashfs partition unshquash it then recompress you will face another problem of hashes and crc checks (checkout the update binary for more details) if you dd it back to block device without kernel and/or bootloader patches. so this is not gonna just work easily.
What we can really do it play on the RW parts of the system, one of the design flaws on webOS is the devmode aka Developer Mode, they ship it in a Read Write partition so that's easy to be modified.
To do that you must have root access or some powerful exploits to achieve your goal.
This method is using memory access vulnerability to get root and then jailbreak the tv. i ported some parts of the other root thread even if some are not even needed.
To jailbreak connect to your tv via prisoner user after uploading GetMeIn binary into it then :
Code:
chmod +x GetMeIn
./GetMeIn
if root succeed and you saw some errors do this :
Code:
mkdir -p /media/cryptofs/root/etc
mkdir -p /media/cryptofs/root/lib
After that just reboot and enjoy your root with same ssh key, or use password "alpine".
there is some old pictures attached, i did some modifications after those.
Hope this is good enough.:angel:
HOW-TO
To use this GetMeIn webOS Jailbreak tool please create a developer account on LG's developer portal, install developer mode application on your TV and connect with your recently created account.
Open dev mode app please set the Dev Mode Status to ON and Key Server to ON.
grab your ssh key with ares then connect to your tv using ssh :
Code:
[email protected]:~# ssh -i ~/.ssh/webOS_TV [email protected] -p 9922
when you get connected you just follow the steps on the thread.
Please test and share back screen shouts and logs from tv in both cases failure or success.
I need informations from your webOS v 3.5 and lower, TV model and webOS version and some commands from the tv.
okay first of all create a dir named logs :
Code:
mkdir logs
TV Infos :
Code:
cat /var/run/nyx/device_info.json > logs/device_info.json
(delete your nduid serial number and mac addresses)
webOS Infos :
Code:
cat /var/run/nyx/os_info.json > logs/os_info.json
Code:
cat /proc/cpuinfo > logs/cpu.log
Code:
ls -arls /var/log/ > logs/logdir.log
Code:
ls -arls /usr/lib/ > logs/libsdir.log
Code:
ls -arls /proc/ > logs/procdir.log
Code:
ls -arls /dev/ > logs/devices.log
In case the jailbreak works restart and run this additional commands :
Code:
mount > logs/mounts.log
i think that's everything i need, upload the logs dir somewhere and put a link here.
Reserved again.
So this only works on webOS 3.5 and below?
MishaalRahman said:
So this only works on webOS 3.5 and below?
Click to expand...
Click to collapse
that's what i think yes, but you can test
MishaalRahman it's confirmed, also some lower versions are not supported like 3.3.3
BTW, can you check up your PM.
Hi,
unfortunately it does not work for me, I get the following output:
Code:
---------------------------------------------------------------
MerrukTechnolog < webOS privelage escalation (www.merruk.com)
---------------------------------------------------------------
GetMeIn: #* Opening memory IO!
GetMeIn: #! Cannot map memory data!
---------------------------------------------------------------
I already posted some logs of my LG OLED55B7D (05.80.15) in the other thread:
https://www.dropbox.com/s/ie5ix8vtscxjr3n/LG55B7D_05_80_15.zip?dl=0
Maybe some of this helps to improve your script.
blenni said:
Hi,
unfortunately it does not work for me, I get the following output:
Code:
---------------------------------------------------------------
MerrukTechnolog < webOS privelage escalation (www.merruk.com)
---------------------------------------------------------------
GetMeIn: #* Opening memory IO!
GetMeIn: #! Cannot map memory data!
---------------------------------------------------------------
I already posted some logs of my LG OLED55B7D (05.80.15) in the other thread:
https://www.dropbox.com/s/ie5ix8vtscxjr3n/LG55B7D_05_80_15.zip?dl=0
Maybe some of this helps to improve your script.
Click to expand...
Click to collapse
Your version is not supported by this tool, you have webos 3.8 unfortunately, and i really cannot help without access to tv with new api version, & i will need testers for newer devices.
@Maroc-OS
WebOS has the web socket endpoints to control the TV like
Code:
ssap://tv/getChannelList
After rooting the TV is possible to find out all the available endpoints on the TV? LG unfortunately has absolutely no documentation about it except the endpoints in the examples they provide.
If it is not too much work, could you please provide a list of all the available endpoints? I guess those needs to be defined somewhere in a config file...
Lg oled65g6v
Code:
/media/developer$ uname -a
Linux LGwebOSTV 3.16.7-77.deua.4 #1 SMP PREEMPT Thu Jun 21 17:26:37 KST 2018 armv7l GNU/Linux
/media/developer$ ./GetMeIn
---------------------------------------------------------------
MerrukTechnolog < webOS privelage escalation (www.merruk.com)
---------------------------------------------------------------
GetMeIn: #* Opening memory IO!
GetMeIn: #! Cannot map memory data!
---------------------------------------------------------------
/media/developer$ cat /var/run/nyx/os_info.json
{
"core_os_kernel_version": "3.16.7-77.deua.4",
"core_os_name": "Rockhopper",
"core_os_release": "3.3.3-3807",
"core_os_release_codename": "dreadlocks-dharug",
"encryption_key_type": "prodkey",
"webos_api_version": "4.1.0",
"webos_build_datetime": "20180621081934",
"webos_build_id": "3807",
"webos_imagename": "starfish-dvb-secured",
"webos_manufacturing_version": "05.30.25",
"webos_name": "webOS TV",
"webos_prerelease": "",
"webos_release": "3.3.3",
"webos_release_codename": "dreadlocks-dharug"
}
If I can be of any help to get this working on LG's 2016 OLED models gladly I would help...
Thank you for this awesomely fun opportunity to get into my panel! While I understand this is in its infancy, would you know a way of downgrading OS version? (Im on 4.x.x.x)
I hope sideload and extract creds in the best future. Thank you one again for the time and sharing of this. ?
What would be a good reason to root a smart tv? What can I do afterward?
now THIS is interesting! well done!
Same will we be able to download apps like Showbox or shadow tech(cloud gaming service)? After rooting we are all familiar with root on the phone side but rooting tv is definitely a first
lucaterpirla said:
What would be a good reason to root a smart tv? What can I do afterward?
Click to expand...
Click to collapse
thats what i'm asking myself too.
or was this the first step and now homebrew apps will rise?
please enlighten me someone. :laugh:
Sorry if this is a dumb question, but does this mean that Android TV could be ported over? That would be fantastic.
Fuking crazy
I'm about to root today after work.
Hope we get Android apps soon
This is awesome! and coming from someone from my home country. Genius!
Would it be possible to install Android TV after using this method?
Thank you very much!
I haven't tried the jailbreak yet, but here are the logs from two of my LG TVs:
LG EF9500: mediafire.com/file/8da335aynddi4se/LG_EF9500_Logs.zip
LG UF6400: mediafire.com/file/8045q0d0o6j8453/LG_UF6400_Logs.zip
XDA wont let me add hyperlinks so you'll have to copy and paste.
Wow seems there is some reactions to this topic.
first of all thank you for testing and reacting to this subject.
i will replay to every post one by one after this post.
thanks for you all.
wybielacz said:
@Maroc-OS
WebOS has the web socket endpoints to control the TV like
Code:
ssap://tv/getChannelList
After rooting the TV is possible to find out all the available endpoints on the TV? LG unfortunately has absolutely no documentation about it except the endpoints in the examples they provide.
If it is not too much work, could you please provide a list of all the available endpoints? I guess those needs to be defined somewhere in a config file...
Click to expand...
Click to collapse
Interesting. i did not knew about this, i will let you know once check this out.

Categories

Resources