[Kernel] X11 support in Ubuntu Touch for Galaxy Nexus (maguro) - Ubuntu Touch Development and Hacking

As you know there is no support for X11 in Ubuntu Touch with default CM10 kernel. To be more correct: there is no VT (virtual terminal) devices in Ubuntu Touch at Android layer. So you can install X11 but you can't run it! I decided to fix it and made kernel with VT support. Now it's possible to run X11 server and your favorite desktop environment. However there are some bugs with it: qml-phone-shell (which is Touch Shell) renders at top level and X11 - at bottom. Still you can interact with both of them: Touch Shell on phone and X11 over VNC. Another bugs are green tint on phone display and slow x11 render.
X11 over VNC:
{
"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"
}
Installation:
1. Get Kernel:
View attachment boot.img
2. Flash it with fastboot:
Code:
fastboot flash boot boot.img
3. And now you can install X11, x11vnc and desktop environment (e.g.: xfce4):
Code:
sudo apt-get install xorg x11vnc xubuntu-desktop
4. Also you need valid config for X11:
View attachment 99-omap.zip
5. Unrar it and put to device:
Code:
adb push 99-omap.conf /data/ubuntu/usr/share/X11/xorg.conf.d/99-omap.conf
6.Reboot phone
7. Set password for x11vnc server:
Code:
x11vnc -storepasswd <your_passwd>
8. Start x11vnc server:
Code:
sudo x11vnc -dontdisconnect -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/phablet/.vnc/passwd
Now you can connect to device with VNC Client.

How does this compare in performance to using a remote X server, as in this thread
http://forum.xda-developers.com/showthread.php?t=2161884
With that method I found most applications to perform decent except QtCreator.
Having to render the x server on the phone itself I would think wouldn't perform that fast.

BukaKing said:
Having to render the x server on the phone itself I would think wouldn't perform that fast.
Click to expand...
Click to collapse
That's true. X Server on phone slow enough and your way is better. Perhaps this one is alternative and require only VNC client or not require client at all. If you stop qml-phone-shell, X11 will be rendered to device. So this kernel is for testing purpose only.

VNC?
Great achievement. Can you run Xserver on its own dedicated VT when VT switching is enabled? What is VNC needed for in this scenario?
I will report a bug at launchpad so that the upstream (ubuntu-touch) kernel enables VT switch.

eudoxos.eu said:
Can you run Xserver on its own dedicated VT when VT switching is enabled? What is VNC needed for in this scenario?
Click to expand...
Click to collapse
You mean to use another tty? That's possible, since there lot of them. VNC server and client will be same (e.g. x11vnc and UltraVNC).

dim319 said:
VNC server and client will be same (e.g. x11vnc and UltraVNC).
Click to expand...
Click to collapse
The X11 server can't talk to the GPU directly, even without acceleration? In that case you could drop VNC completely.

dim319 said:
qml-phone-shell (which is Touch Shell) renders at top level and X11 - at bottom.
Click to expand...
Click to collapse
You can stop phone-shell with
Code:
service ubuntu-session stop
I installed gnome on my SGS2 GT-I9100 (worked without modifying kernel from http://forum.xda-developers.com/showthread.php?t=2188621 ), now I can start gdm with:
Code:
service gdm start
I have some trouble with onscreen keyboard in gdm (onboard), but you can enable autologin in /etc/gdm/custom.conf
Code:
[daemon]
# Enabling automatic login
AutomaticLoginEnable = true
AutomaticLogin = phablet
With this /etc/X11/xorg.conf even the touchscreen works (in a laptop-touchpad way):
Code:
Section "ServerLayout"
Identifier "Layout0"
Screen "Screen0"
InputDevice "cyttsp-i2c" "CorePointer"
EndSection
Section "InputDevice"
Identifier "cyttsp-i2c"
Driver "multitouch"
# MatchIsTouchpad "true"
# Driver "evdev"
Option "CorePointer" "true"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/event2"
Option "Protocol" "Auto"
Option "Rotate" "CW"
EndSection
Section "Device"
Identifier "Card0"
Driver "fbdev"
Option "fbdev" "/dev/graphics/fb0"
# rotate screen to be in sync with touchpad orientation
Option "Rotate" "OFF" # OFF=0 CW=90 UD=180 CCW=270
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
EndSection
(don't forget to install xserver-xorg-input-multitouch for touchsceen!)
Unfortunately I messed up my packaging system (didn't work because no space left on device, now even apt-get install -f can't repair it ), so i will have to try again i guess...

no VT needed?
-schumi- said:
You can stop phone-shell with
Code:
service ubuntu-session stop
I installed gnome on my SGS2 GT-I9100 (worked without modifying kernel from http://forum.xda-developers.com/showthread.php?t=2188621 ), now I can start gdm with:
Code:
service gdm start
Click to expand...
Click to collapse
Does that mean that I can run xorg on Nexus 10 with the official preview images - if I stop ubuntu-session, which occupies the only virtual terminal? (Sorry for perhaps a dumb question, I don't want to re-flash ubuntu-touch over CM again just to try that).

eudoxos.eu said:
The X11 server can't talk to the GPU directly, even without acceleration? In that case you could drop VNC completely.
Click to expand...
Click to collapse
The X11 works with framebuffer (which is fb0), not with GPU. You can use VNC to view X11 from phone to host. X11 can be viewed on phone without VNC.
-schumi- said:
You can stop phone-shell with
Code:
service ubuntu-session stop
I installed gnome on my SGS2 GT-I9100 (worked without modifying kernel from http://forum.xda-developers.com/showthread.php?t=2188621 ), now I can start gdm with:
Code:
service gdm start
Click to expand...
Click to collapse
I see. This is better than making new kernel, and require only correct config for xorg. I saw few solutions: one from BukaKing,one with Xvfb, mine kernel, and yours is best one!

I've worked around the virtual terminal issue by linking PTMX in the past.
just make a new Virtual Terminal device
Code:
rm /dev/ptmx
mknod --mode 666 /dev/ptmx c 5 2
/bin/dbus-uuidgen --ensure

Thanks for the info, great thread! I'm hoping to run a single dedicated X11 app, no real need for the original interface. That said, this seemed like a good starting point.
In case it helps anyone, attached is a kernel boot image I just built for a Nexus 7 wifi (Grouper) that has CONFIG_VT enabled. Ubuntu 13.04, kernel 3.1.10.
Thanks,
Brian

Related

[HACK] Using complete Windows API in Windows Store app (c++)

As we know, MS prohibits using most of standard Win32 API in Windows Store applications. Obviously there are lots of ways to overcome this limit and to call any API you like, if you are not going to publish your app on Windows Store. And here is one of them.
Idea is really simple and rather old (lots of viruses use it): search for kernel32.dll base in memory, then parse its exports for LoadLibraryA and GetProcAddress, call them - and get profit.
Writing here so this post can be indexed by google.
Partial code:
Code:
void DoThings()
{
char *Tmp=(char*)GetTickCount64;
Tmp=(char*)((~0xFFF)&(DWORD_PTR)Tmp);
while(Tmp)
{
__try
{
if(Tmp[0]=='M' && Tmp[1]=='Z')
break;
} __except(EXCEPTION_EXECUTE_HANDLER)
{
}
Tmp-=0x1000;
}
if(Tmp==0)
return;
LoadLibraryA=(t_LLA*)PeGetProcAddressA(Tmp,"LoadLibraryA");
GetProcAddressA=(t_GPA*)PeGetProcAddressA(Tmp,"GetProcAddress");
CreateProcessA=(t_CPA*)PeGetProcAddressA(Tmp,"CreateProcessA");
HMODULE hUser=LoadLibraryA("user32.dll");
MessageBoxA=(t_MBA*)GetProcAddressA(hUser,"MessageBoxA");
MessageBoxA(0,"A native MessageBox!","Test",MB_OK);
STARTUPINFO si;
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
PROCESS_INFORMATION pi;
CreateProcessA("c:\\Windows\\system32\\cmd.exe",0,0,0,FALSE,0,0,0,&si,&pi);
}
Complete project is attached. It contains sources and compiled appx files for side-loading.
Code compiles fine for x86/x64 and ARM, tested on x86/x64. Can someone test it on ARM? Ability to sideload metro apps is required.
The application should output a MessageBox, then execute cmd.exe.
A note: Windows Store application runs in a sandbox and as a limited account, so most of API returns "access denied". You can check this in a launched CMD - it displays "access denied" even on a "dir" command because normally "modern ui" apps don't have even read access to c:\.
To overcome this - add "all application packages" full control to the directories/objects you like (for example to c:\).
Works perfectly on my Windows 8 x64 Tablet :good:... its not ARM based though ...
Can i use this to run a non-store app?
Here is the catch, I have managed to get the installed (not the installation) file from a kind member here on XDA. But when I paste the folder in:
C:\Program Files\WindowsApps\Microsoft.ZuneMusic_1.0.927.0_x64__8wekyb3d8bbwe
The app isnt seen on the metro UI?
Any way to start a scanner of some sorts so that I can see the app in Metro.../?
THanx a ton!
Plz feel free to laugh a little at my noobish question...im stil learning..
Works perfectly on my surface RT!
but type dir in CMD returns "access denied".
There are no code signature checks from the command prompt that you launch.
{
"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"
}
Code:
#include <iostream>
void main()
{
std::cout << "Hello RT World!\n";
}
Compiled as an exe with info in http://stackoverflow.com/questions/...op-programs-be-built-using-visual-studio-2012
Open properties of your disk c:, go to the security tab and add "ALL APPLICATION PACKAGES" == full control. In this cage "dir" command would work, and your apps would be able to access whole filesystem.
Sorry if it's unrelated, but does RT check signatures for loaded DLLs too? Can one run regedit and change some system CLSID to point to unsigned library, will it be loaded?
Simplestas said:
Sorry if it's unrelated, but does RT check signatures for loaded DLLs too? Can one run regedit and change some system CLSID to point to unsigned library, will it be loaded?
Click to expand...
Click to collapse
Unless the dll is loading with a restricted security policy (such as through a Metro app) it is checked, yes.
Excellent work on the 'App1' technique of starting a cmd prompt from a modern app, and the fact it can run other unsigned cmd line apps.
Note that the cmd prompt still runs in the modern app container and probably has lots of restrictions
And also it only runs when the modern app is running and effectively freezes when the modern app goes into the background and suspends
Don't seem to be able to run win32 gui apps from the cmd prompt it starts -- they start but immediately terminate, presumably because the full win32 stuff cant initialise in a modern app container.
But can tum gui win32 api's, like the create dialog one, from the App1 modern app
Luckily we can also test, investigate and debug this on an intel Windows 8 system (dual monitor is best) when trying to work out what is going on, and then test on ARM after that.
@Simplestas: LoadLibrary is also blocked, I'm afraid. One fo the first things I tried was creating a DLL compatible with the built-in rundll.exe program and using that. It failed to load the third-party library.
@xsoliman3: Don't forget the debugger. You can't run it on the RT device right now, but there are (official) tools for debugging RT apps remotely. That should allow connecting to the child process and seeing what happens as it starts up.
GoodDayToDie said:
@Simplestas: LoadLibrary is also blocked, I'm afraid. One fo the first things I tried was creating a DLL compatible with the built-in rundll.exe program and using that. It failed to load the third-party library.
@xsoliman3: Don't forget the debugger. You can't run it on the RT device right now, but there are (official) tools for debugging RT apps remotely. That should allow connecting to the child process and seeing what happens as it starts up.
Click to expand...
Click to collapse
Great seeing you again!
Anyways, I determined from some work with the VS Remote Debugger that the integrity checks are enforced in ZwCreateUserProcess. But, I bet LoadLibrary has its integrity checks in user-mode, since it normally doesn't access any functions using a call-gate to the kernel on Windows 7, which would mean we can modify it to allow us to load unsigned DLL's.
However, with this vulnerability, I had a different. What about allowing a native application to open, such as Notepad, and before it reaches the entrypoint, remotely injecting a different application to be ran (this would involve some sort of custom LoadLibrary + CreateRemoteThread pair of functions)? With the VS Debugger, you can already attach to any native process in user-mode and modify running code, data, and even the context (e.g. registers and similar data).
That suggestion is possible, and for trivial operations (i.e. replacing some strings in a program, or causing it to take one branch instead of another) people have already done so. Doing a wholesale replacement would be tricky, but should be possible (perhaps aided with WinDBG scripts or similar).
GoodDayToDie said:
Doing a wholesale replacement would be tricky
Click to expand...
Click to collapse
Not so tricky, I've already made a prototype on desktop Win8. Just make an ARM DLL that implements a PE loader using only 2 WinAPI functions - LoadLibrary (used only to get kernel32 handle) and GetProcAddress. Inject that DLL code and data sections via debugger, fixup relocs (you can minimize their amount in your "loader DLL" by not using global variables, placing all code into one file, not using CRT at all, and so on, ARM makes it easy to create position-independent code), and call your injected code via debugger passing it the address of LoadLibrary and GetProcAddress as parameters. Your code than would do what you wish - load and execute an unsigned DLL that you specify.
With this trick you can load EXE files too, as all ARM EXEs contain relocs by default.
But this way is too inconvenient to the end-user, so should be avoided. I really think that MS left enough holes for us to "unlock" unsigned apps on retail WinRT devices.
I'm already thinking on buying an Asus tablet with 3G (instead of waiting for a better device that I wish), so after NY holidays I'll join your game
Ah, that's a much more clever approach than actually trying to load the full program using the debugger itself... if it works. LoadLibrary triggers the same signature check that CreateProcess does (or rather, the system calls that they do will perform that check; if it was user-mode we could bypass it with the debugger). Your method may work, but since the desktop doesn't have the signature check anyhow, prototyping it there doesn't actually mean it will work on RT. Try it out and let us know how it goes, and if it works, posting your source would be awesome!
GoodDayToDie said:
Ah, that's a much more clever approach than actually trying to load the full program using the debugger itself... if it works. LoadLibrary triggers the same signature check that CreateProcess does (or rather, the system calls that they do will perform that check; if it was user-mode we could bypass it with the debugger). Your method may work, but since the desktop doesn't have the signature check anyhow, prototyping it there doesn't actually mean it will work on RT. Try it out and let us know how it goes, and if it works, posting your source would be awesome!
Click to expand...
Click to collapse
He doesn't mean making a prototype and importing from kernel32.dll. He means manually mapping the PE file, then using either CreateRemoteThread or modifying the context of a thread already launched to run it once it's in the memory address of another process. It's basically DLL injection with our own implementation of LoadLibrary. It would work because LoadLibrary doesn't use any system calls except to map memory (and mapping memory doesn't have integrity checks of any sort, and it shouldn't be design -- e.g. VirtualAlloc).
A bigger problem I thought of is automating this. I took a quick peek with Wireshark at my remote debugging session and saw HTTP with what appeared to be a proprietary protocol. In order to automate this from another computer (or any mobile device for that matter), we would need to reverse engineer the protocol. Or, an alternative would be to hook into Visual Studio once the debugging session is launched (maybe just a nice VS plugin would work?).
mamaich said:
Code:
void DoThings()
{
char *Tmp=(char*)GetTickCount64;
Tmp=(char*)((~0xFFF)&(DWORD_PTR)Tmp);
while(Tmp)
{
__try
{
if(Tmp[0]=='M' && Tmp[1]=='Z')
break;
} __except(EXCEPTION_EXECUTE_HANDLER)
{
}
Tmp-=0x1000;
}
if(Tmp==0)
return;
Click to expand...
Click to collapse
I was looking through the provided sample -- wouldn't our own GetModuleHandleA implementation be a better way of doing this? I'm just thinking should the alignment be changed in kernel32.dll it may be better to have something like this:
Code:
522 if (!name)
523 {
524 ret = NtCurrentTeb()->Peb->ImageBaseAddress;
525 }
526 else if (flags & GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
527 {
528 void *dummy;
529 if (!(ret = RtlPcToFileHeader( (void *)name, &dummy ))) status = STATUS_DLL_NOT_FOUND;
530 }
Source: http://source.winehq.org/source/dlls/kernel32/module.c#L504
Grabbing the Peb (NtCurrentTeb()->Peb) would involve pulling from the FS register at offset 0x30. Implementing this on ARM could be trickier, as I'm not sure of the inline assembly or availability of intrinsics (not to mention, it would be stored somewhere else than the FS register).
Now, for the PC, it appears __readfsdword is available as an intrinsic, so this *should* work on x86 installations of Windows 8.
mamaich said:
Not so tricky, I've already made a prototype on desktop Win8. Just make an ARM DLL that implements a PE loader using only 2 WinAPI functions - LoadLibrary (used only to get kernel32 handle) and GetProcAddress. Inject that DLL code and data sections via debu
Click to expand...
Click to collapse
I think this approach (of injecting own loader as far as understand) has such problem(even if implemented & automated)
Loaded exe can have own dependant dlls(any complicated-usefull proj has) that it cant load because of signing checks (and even more problems if it uses dynamic loading of own dlls and getprocaddress)
Or do i miss somth in your idea?
Will I be able to read/write to a parallel port using this method? Do the limited store apps have sufficient permissions to do that? Writing to a parallel port requires calling
Code:
hndleLPT = CreateFile("LPT1",(GENERIC_READ | GENERIC_WRITE), 0, 0, OPEN_EXISTING, 0, 0);
. Will this succeed?
Will I be able to successfully load this: http://www.highrez.co.uk/Downloads/InpOut32/default.htm ?
---------- Post added at 03:01 PM ---------- Previous post was at 02:11 PM ----------
This looks like an improved method to get the base address:
http://tedwvc.wordpress.com/2013/07/19/finding-the-kernel32-dll-module-handle-in-a-windows-store-app-using-approved-apis/
You should be able to do that using CreateFile2, which is permitted in Store apps already (no need to use the rest of the Win32 API). As for the permissions, I don't know, but it will probably work.
I mean, assuming your computer *has* an LPT port. I haven't seen one of those in a while...
how about the other way round? can a desktop app have access to the full windows 8 api (including those reserved for win store apps only)?

X running (limping) on a Nook ST

Hi,
I've got X just about running a Nook ST :
{
"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"
}
I say running, the e-ink is erm fun; I've got it sitting there in a loop kicking a refresh every couple of seconds, and I'm sure there is a better way,
So, some notes:
* I'm running with the Nook kernel patched up with:
- USB host patch (see other thread)
- The gcc stuff from the fastmode patches so it will build on a recent Ubuntu
- The fastmode code - but I don't understand it yet
* The following that I needed to get debian/armhf to run - if you stick with armel you shouldn't need them:
- The TLS hack off http://arowboat.wordpress.com/2011/08/10/android-linux-arm-and-tls-register-emulation/ together with updated TLS files patches from newer kernels; I think it's possible just to turn it on with the existing 2.6.29 and take that TLS fix.
- I also pulled in ec706dab from a newer git to map the vector page - but not sure if it's needed
* Nookmanager on my uSD card
* in a directory on a 2nd ext formatted partition there I've got a debian chroot
* Debian wheezy armhf built using debootstrap , pass --include=apt to make life bearable
* xserver-xorg-video-fbdev, xserver-xorg-input-multitouch, xserver-xorg-input-evdev
* Note the nook kernel is too old for udev so some config has to be done manually, so in /usr/share/X11/xorg.conf.d/05-dave.conf I put:
(based on http://blog.rot13.org/2012/08/x11-running-on-nook-color-without-android-stack.html ):
Section "ServerLayout"
Identifier "Layout0"
Screen "Screen0"
InputDevice "touchscreen" "CorePointer"
InputDevice "gpio-keys" "CoreKeyboard"
InputDevice "twl4030-keypad" "CoreKeyboard"
InputDevice "usbkbd" "CoreKeyboard"
InputDevice "usbmouse" "CorePointer"
EndSection
Section "ServerFlags"
Option "AutoAddDevices" "off"
EndSection
Section "InputDevice"
Identifier "touchscreen"
Option "Device" "/dev/input/event2"
Driver "evdev"
Option "SwapAxes" "on"
Option "InvertX" "on"
EndSection
Section "InputDevice"
Identifier "usbkbd"
Option "Device" "/dev/input/event4"
Driver "evdev"
EndSection
Section "InputDevice"
Identifier "usbmouse"
Option "Device" "/dev/input/event3"
Driver "evdev"
EndSection
Section "InputDevice"
Identifier "gpio-keys"
Driver "evdev"
Option "Device" "/dev/input/event0"
# code 102 (KEY_HOME)
# code 116 (KEY_POWER)
EndSection
Section "InputDevice"
Identifier "twl4030-keypad"
Driver "evdev"
Option "Device" "/dev/input/event1"
# code 114 (KEY_VOLUMEDOWN)
# code 115 (KEY_VOLUMEUP)
EndSection
Section "Device"
Identifier "Card0"
#Driver "omapfb"
#Option "fbdev" "/dev/graphics/fb0"
# rotate screen to be in sync with touchpad orientation
Option "Rotate" "CCW" # CW=90 UD=180 CCW=270
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
EndSection
I had to make most of the device nodes in /dev based on the contents from the android version and also mount /proc, /sys and /dev/pts
then set DISPLAY and also set XAUTHORITY=/.Xauthority
Then once I've started the wireless and ssh from nookmanager I do:
startx -- tty01 -sharevts -novtswitch &
and:
while true; do echo 1 > /sys/class/graphics/fb0/epd_refresh; sleep 2; done &
Then for that picture I had matchbox-keyboard, fvwm and epiphany-browser
Fun! Any tips on doing something more sain with the eink appreciated!
Dave
you rock!
Awesome
Sent from my YP-G1 using Tapatalk 2
Interactive!
OK, find attached a program that uses the XDamage extension to more intelligently update the display (I'm sure there is a way to use the DSP to do this properly!
A video (shakey camera work, slow update, just about interactive touchscreen - what else can you want!) will eventually arrive here:
http://youtu.be/PxVjqJZcspc
Wahey!
Dave
Hey, you do know that there are native omap drivers available for X11.
This might help get things moving a bit faster. I suspect part of your problem might be using the framebuffer.
Check out these links:
http://cgit.freedesktop.org/xorg/driver/xf86-video-omap
http://packages.debian.org/search?keywords=xserver-xorg-video-omap
I seem to remember that the Nook Simple Touch is OMAP 3 based.
I think you are doing great with this! I'd love to get Linux working properly on the Nook Simple Touch, even if it was just the console.
I'd love to have gcc on there! I was hoping I could change the runlevel to get to a console but I discovered that busybox doesn't support that.
Do you know if the Nook even has a console?
I'm in a good mood today as I managed to get my external usb keyboard working, not sure if I should continue pushing forward today!
Freya
---------- Post added at 05:18 PM ---------- Previous post was at 04:43 PM ----------
Having watched the video I suspect it would be way easier if you hooked up a usb mouse!
Freya
There's also a special omap framebuffer driver here which while obviously not as desirable, might also make things work better perhaps?
http://anonscm.debian.org/gitweb/?p=collab-maint/xf86-video-omapfb.git;a=blob;f=README;hb=HEAD
FreyaBlack said:
Hey, you do know that there are native omap drivers available for X11.
This might help get things moving a bit faster. I suspect part of your problem might be using the framebuffer.
Check out these links:
http://cgit.freedesktop.org/xorg/driver/xf86-video-omap
http://packages.debian.org/search?keywords=xserver-xorg-video-omap
I seem to remember that the Nook Simple Touch is OMAP 3 based.
I think you are doing great with this! I'd love to get Linux working properly on the Nook Simple Touch, even if it was just the console.
I'd love to have gcc on there! I was hoping I could change the runlevel to get to a console but I discovered that busybox doesn't support that.
Do you know if the Nook even has a console?
I'm in a good mood today as I managed to get my external usb keyboard working, not sure if I should continue pushing forward today!
Freya
---------- Post added at 05:18 PM ---------- Previous post was at 04:43 PM ----------
Having watched the video I suspect it would be way easier if you hooked up a usb mouse!
Freya
Click to expand...
Click to collapse
Yeh I think I tried those OMAP3 X servers without success; I think one of the problems is the kernel on the NST is *ancient*,
so my current fiddling is to try and build a newer kernel with the NST drivers in; I'm currently fighting a 3.4 tree that I've thrown the NST diffs into - it's a bit of a fight and I don't know how close I am to even have it building yet; I'm kind of hopeful that that might have a chance of using the OMAP3 drivers; even so I'm not sure how they will interact with the eink display because it's so different.
Oh and yes a USB mouse does work but that's cheating
Dave
p42 said:
Yeh I think I tried those OMAP3 X servers without success; I think one of the problems is the kernel on the NST is *ancient*,
so my current fiddling is to try and build a newer kernel with the NST drivers in; I'm currently fighting a 3.4 tree that I've thrown the NST diffs into - it's a bit of a fight and I don't know how close I am to even have it building yet; I'm kind of hopeful that that might have a chance of using the OMAP3 drivers; even so I'm not sure how they will interact with the eink display because it's so different.
Oh and yes a USB mouse does work but that's cheating
Dave
Click to expand...
Click to collapse
You should check out the framebuffer driver I link to at the end then! I bet that will work for the time being!
Freya
Holy sh*t. This is awesome.
Please let us know when you got an update on this, as this is freaking awesome. You mean, you're trying to get kernel v3.4 to run on NST?
idoit said:
Please let us know when you got an update on this, as this is freaking awesome. You mean, you're trying to get kernel v3.4 to run on NST?
Click to expand...
Click to collapse
Trying yes, not necessarily got very far yet!

[Mod] for (Archidroid Rom) {Pocket Ubuntu 14.10/13.10/13.04} (2014/7/4 Updated)

Archidroid is a excellent&wonderful rom for SGS3,
provides flexible,fast,fancy android environment.
With its built in Pocket Debian,you can use"adflash" to upgrade your Archidroid everyday via OTA from git source, USE "adlinux" to boot into Debian. a lot of useful functions....etc
**This built in chroot brings you more stability than mounting a downloaded img from "complete linux installer"**
But in the rom Devoloping concept, the size of pocket debian is limited to 50MB(in case of being included in a rom) &it is not going to support Pocket Ubuutu
Update log:
2014/07/04 added Ubuntu 14.10 Utopic
*14.04LTS is the first build that promised to long term support on arm architecture*(which brings more stability on everything)
*ubuntu now replace "Upstart" with "Systemd" in 14.10, we can avoid a lot of "upstart error" in chroot with 14.10
*screenshot of the update with 14.10 Mate-Desktop Environment(Now it has arm for 14.10){with Archidroid 2.5.0 stable)
{
"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"
}
Why Pocket Ubuntu?
If you want to install more,more,more,but you found a lot of Repositories are not avaliable for Debian testing(Binary-armhf)(cinnamon,chromium?orphaned?..etc),only for ubuntu
Or....you want to get something from ubuntu-backport,ubuntu mutiverse........or ....Maybe you just prefer ubuntu more than debian?
###we know that simply adding ubuntu repositories to debian causes problems,due to the difference of libraries between two distro###we need a pocket ubuntu:angel:
------------------------------------------------------------------------
so I made my own Pocket Ubuntu by myself, and included a little more ingridients I prefer to replace the built in debian....
The acceptable size for me is 60~100MB,
Features
*All the necessary function in Pocket Debian works(exmple...adflash,vnc,ssh...etc)
*Ubuntu Repository main restricted universe mutiverse
*Ubuntu Utopic 14.10(new added) /Saucy 13.10 /Rariing 13.04 with security updates
*size of current release is 86MB
*you can set your own vnc password at first boot
*Nothing....I just like ubuntu more than debian....AND I PREFER THE CONVIENT "ADLINUX" COMMAND IN Archihdroid
Known Issues
Upstart function dont work! you see [start: Unable to connect to Upstart:.....]
THIS IS NOT A BUG,THIS IS CHROOT'S PROBLEM, Upstart will ever not work in chroot....
there are some ways to hide the error message via command:
Code:
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
but this does not fix the problem but hide the error(I didn't hide the error in this Pocket Ubuntu)
HOW TO USE IT?
simply open a filemanager(need root access),rename the downloaded tar.gz file(ubuntu13.10-archi****.tar.gz) to "debian.tar.gz" and replace
/system/archidroid/system/debian.tar.gz
*note:if you have booted up Pocket debian before you have to run "adlinux clean" again after replacing the original tar.gz
Download:
All versions of pocket ubuntu are all in the same download link:
File names& build versions & last updated date
ubuntu14.10archi-20140704.tar.gz | Ubuntu 14.10 Utopic (2014/07/04)
ubuntu13.10archi-20140223.tar.gz | Ubuntu 13.10 Saucy (2014/02/23)
ubuntu13.04archi-20140223.tar.gz | Ubuntu 13.04 Raring (2014/02/23)
https://www.dropbox.com/sh/by61jvmtxqcptm2/rP6rFFAP1e
BUT OF COURSE:THANKS FOR JUSTARCHI FOR CREATING THIS WONDERFUL ROM!:good::good::good:
download now..
evilhawk00 said:
Archidroid is a excellent&wonderful rom for SGS3,
provides flexible,fast,fancy android environment.
With its built in Pocket Debian,you can use"adflash" to upgrade your Archidroid everyday via OTA from git source, USE "adlinux" to boot into Debian. a lot of useful functions....etc
**This built in chroot brings you more stability than mounting a downloaded img from "complete linux installer"**
But in the rom Devoloping concept, the size of pocket debian is limited to 50MB(in case of being included in a rom) &it is not going to support Pocket Ubuutu
Why Pocket Ubuntu?
If you want to install more,more,more,but you found a lot of Repositories are not avaliable for Debian testing(Binary-armhf)(cinnamon,chromium?orphaned?..etc),only for ubuntu
Or....you want to get something from ubuntu-backport,ubuntu mutiverse........or ....Maybe you just prefer ubuntu more than debian?
###we know that simply adding ubuntu repositories to debian causes problems,due to the difference of libraries between two distro###we need a pocket ubuntu:angel:
------------------------------------------------------------------------
so I made my own Pocket Ubuntu by myself, and included a little more ingridients I prefer to replace the built in debian....
The acceptable size for me is 60~100MB,
*All the necessary function in Pocket Debian works(exmple...adflash,vnc,ssh...etc)
*Ubuntu Repository main restricted universe mutiverse
*Ubuntu Saucy 13.10 /Rariing 13.04 with security updates
*size of current release is 86MB
*Nothing....I nust like ubuntu more than debian....AND I PREFER THE CONVIENT "ADLINUX" COMMAND IN Archihdroid
Known Issues
Upstart function dont work! you see [start: Unable to connect to Upstart:.....]
THIS IS NOT A BUG,THIS IS CHROOT'S PROBLEM, Upstart will ever not work in chroot....
there are some ways to hide the error message via command:
Code:
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
but this does not fix the problem but hide the error(I didn't hide the error in this Pocket Ubuntu)
View attachment 2594296View attachment 2594295
HOW TO USE IT?
simply open a filemanager(need root access),rename the downloaded tar.gz file(ubuntu13.10-archi****.tar.gz) to "debian.tar.gz" and replace
/system/archidroid/system/debian.tar.gz
*note:if you have booted up Pocket debian before you have to run "adlinux clean" again after replacing the original tar.gz
Download:
https://www.dropbox.com/sh/by61jvmtxqcptm2/rP6rFFAP1e
BUT OF COURSE:THANKS FOR JUSTARCHI FOR CREATING THIS WONDERFUL ROM!:good::good::good:
Click to expand...
Click to collapse
give u feed back soon
Hello,i have done the procedure correct,and hide the Upstart Error,but i don't know how to initialize the UI; can you help me? thanks :good:
install Gui
QUOTE=Niko99ITA;51947564]Hello,i have done the procedure correct,and hide the Upstart Error,but i don't know how to initialize the UI; can you help me? thanks :good:[/QUOTE]
Originally Posted by*JustArchi*
1. 127.0.0.1:5901 password archidroid.
Remember that before starting VNC you probably want to install some GUI as well, so adlinux default -> debian -> apt-get update -> apt-get install xfce4 (for example)
2. If u successfully installed xfce4 u better run this in terminal:
exec ck-launch-session startxfce4
and for ur sake do a reboot ur phone... and run again adlinux-default or ur choice - vnc and connect again**u then will have a fully working gui*
Didn't notice this thread, nice job .
Niko99ITA said:
Hello,i have done the procedure correct,and hide the Upstart Error,but i don't know how to initialize the UI; can you help me? thanks :good:
Click to expand...
Click to collapse
Just fellow my steps simply
Hello! To launch the GUI , First you need to install newest desktop environment, I suggest XFCE4 or Mate-Desktop(with 14.04)
when you first boot into Ubuntu, you might set a vnc password
after chroot ,terminal type:
apt-get update
apt-get install mate-desktop-environment or apt-get install xfce4
now you need to restart the vncserver, terminal type:
tightvncserver -kill :1
exit
now chroot back again,terminal type:
adlinux
default
vnc
debian
And now the GUI should already launched in the background.
(*if you finished installing these desktop environments, but tightvncserver can't launch it correctly, you have to edit /root/.vnc/xstartup ,edit the correct command to make it works*)
Second,use any vnc viewer app to connect to 127.0.0.1:5901 with your own password set at first boot
I suggest using Pocketclound Pro as vnc viewer App
evilhawk00 said:
Just fellow my steps simply
Hello! To launch the GUI , First you need to install newest desktop environment, I suggest XFCE4 or Mate-Desktop(with 14.04)
when you first boot into Ubuntu, you might set a vnc password
after chroot ,terminal type:
apt-get update
apt-get install mate-desktop-environment or apt-get install xfce4
now you need to restart the vncserver, terminal type:
tightvncserver -kill :1
exit
now chroot back again,terminal type:
adlinux
default
vnc
debian
And now the GUI should already launched in the background.
(*if you finished installing these desktop environments, but tightvncserver can't launch it correctly, you have to edit /root/.vnc/xstartup ,edit the correct command to make it works*)
Second,use any vnc viewer app to connect to 127.0.0.1:5901 with your own password set at first boot
I suggest using Pocketclound Pro as vnc viewer App
Click to expand...
Click to collapse
Ehi Thanks bro
it workeed
finally developing as well as my pc does with an useful interface :victory:
you have all my respect! Good job :good:
---------- Post added at 11:53 AM ---------- Previous post was at 11:52 AM ----------
AMUK0110 said:
QUOTE=Niko99ITA;51947564]Hello,i have done the procedure correct,and hide the Upstart Error,but i don't know how to initialize the UI; can you help me? thanks :good:
Click to expand...
Click to collapse
Originally Posted by*JustArchi*
1. 127.0.0.1:5901 password archidroid.
Remember that before starting VNC you probably want to install some GUI as well, so adlinux default -> debian -> apt-get update -> apt-get install xfce4 (for example)
2. If u successfully installed xfce4 u better run this in terminal:
exec ck-launch-session startxfce4
and for ur sake do a reboot ur phone... and run again adlinux-default or ur choice - vnc and connect again**u then will have a fully working gui*[/QUOTE]
Ah,and you also
thanks you two,i appreciate that
Can anyone guide me step by step starting from scratch? (clean install?)
I can't boot it, get lots of errors.
_________________________________________
Edit:
I reinstalled archidroid, at the last step. I have installed mate desktop. Gui doesn't loads up, please help!
eatsleep said:
Can anyone guide me step by step starting from scratch? (clean install?)
I can't boot it, get lots of errors.
_________________________________________
Edit:
I reinstalled archidroid, at the last step. I have installed mate desktop. Gui doesn't loads up, please help!
Click to expand...
Click to collapse
Hello , first of all, make sure u use the newest 14.10 utopic build
After the installation of mate desktop u only need to try the las two steps to fix any error could happen
YOU SHOULD GOOGLE ABOUT HOW TO EDIT XSTARTUP FILE
if you connect via vnc viewer client and found that the gui does not load, this only means the tightvncserver did not execute mate desktop by default
So, you need to edit tightvncserver's settings. This is what you can do, please edit the file /root/.vnc/xstartup and find something like this:
"exec /etc/X11/xinit/xinitrc" this is the default setting....please add # in front of this line
so it becomes "#exec /etc/X11/xinit/xinitrc"
(u can use vim comand "vim /root/.vnc/xstartup" in terminal to edit the file in terminal...)
After disabling the default setting, u now need to add mate desktop as default
please add the line below into /root/.vnc/xstartup
/usr/bin/mate-session&
and this edit means it will excute this binary file"/usr/bin/mate-session&" before starting vnc server....
now save the file and restart
it should work!
DONE!
Cheers

[GUIDE] Install Ubuntu on a Chromebook

[Size=+2] This method should allow you to switch between Chrome OS and Ubuntu by just pressing "Ctrl + Alt + forward" for intel based chromebooks or "Ctrl + Alt + Shift + Forward" for ARM based devices, to go back all you need do is repeat but replace forward with back.
[/Size]
{
"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"
}
[color=firebrick3] [Size=+3] Step One: Dev Mode [/size] [/color]
Before starting this process please note that doing this will wipe the data from your chromebook thankfully as your apps and drive are cloud based this shouldn't be too much of an issue
Whilst holding down refresh and esc press the power button, this will reboot your chromebook in to recovery mode
As soon as a yellow exclamation mark appears on screen press Ctrl+D. Press Enter
Your chromebook will now reboot again and enable developer mode, this should take about 10 minutes
upon the next reboot a red exclamation mark will be present, you may either wait 30 seconds for it to boot to desktop or you can press Ctrl+D
[color=firebrick3] [Size=+3] Step Two: Installation [/size] [/color]
To install
First download Crouton from here Github to your downloads folder
Enter the crosh terminal by pressing Ctrl + Alt + T
Enter the following
Code:
Shell
sudo sh -e ~/Downloads/crouton -t xfce
xWolf13 said:
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
Click to expand...
Click to collapse
If the chromebook you are running has a touchscreen you may wish to change this second line to:
Code:
sudo sh -e ~/Downloads/crouton -t xfce,touch
It will now start installing Ubuntu, this can take anywhere between 10 and 30 minutes
Once installed it will request a user name and password for Ubuntu
following this you may start ubuntu up by entering:
Code:
sudo startxfce4
To access Ubuntu you need to press:
"Ctrl + Alt + forward" for intel based chromebooks followed by "Ctrl+Alt+Refresh",
or "Ctrl + Alt + Shift + Forward" for ARM based devices,
To return to chrome all you need do is press "Ctrl+Alt+Back" again adding shift for Arm devices
[color=firebrick3] [Size=+3] Step Three: What next? [/size] [/color]
To close Ubuntu all you need do is log out and return to chrome OS
To reboot Ubuntu enter the following again
Code:
sudo startxfce4
Initially not many apps will be installed however to install these you can use:
Code:
Sudo apt-get install
and to search the packages available you can use
Code:
Sudo apt-cache search (search terms)
The apps I advise you install in terminal first are:
Code:
Sudo apt-get install LibreOffice
Sudo apt-get install Chromium-browser
Sudo apt-get install firefox
Sudo apt-get install vlc
To remove Ubuntu from the device at the exclamation mark on boot up press space bar and you will reset the device
[color=firebrick3] [Size=+3] Step Four: Removing [/size] [/color]
To remove Ubuntu from your chromebook without powerwashing you can enter this in to the terminal shell
Code:
sudo delete-chroot -a
[Size=+2]
Hope this helps and if you have any questions drop a comment below
*Update* Thanks to Tomek Kondrat for writing an article on this post and getting this on the front page of XDA: you can read the article here [/Size]
Been known for awhile and they have even newer scripts to self install Linux http://chromeos-cr48.blogspot.com/2013/05/chrubuntu-one-script-to-rule-them-all_31.html?m=1
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
---------- Post added at 10:31 PM ---------- Previous post was at 10:28 PM ----------
xXminiWHOOPERxX said:
Been known for awhile and they have even newer scripts to self install Linux http://chromeos-cr48.blogspot.com/2013/05/chrubuntu-one-script-to-rule-them-all_31.html?m=1
Click to expand...
Click to collapse
This is so you can dual boot Linux. Crouton is used within Chrome OS which is more like a VM. Chrubuntu may not support all Chromebooks including the one I am using, the Toshiba Chromebook 13. Missing touchpad drivers are the only problem for this chromebook and it is an easy fix. Crouton is 'new' and more stable with less usage of memory on the Chromebook.
Is there any need to somehow back-up the original OS/image using this method? Maybe I'm just used to Android, and it doesn't seem like it, but wanted to make sure any information such as my account/settings wouldn't be erased during this install. Thanks for the tutorial in any case; wanting to upgrade my laptop to something more current, would love the ability to use both Chrome OS and Linux on one laptop!
Joshmccullough said:
Is there any need to somehow back-up the original OS/image using this method? Maybe I'm just used to Android, and it doesn't seem like it, but wanted to make sure any information such as my account/settings wouldn't be erased during this install. Thanks for the tutorial in any case; wanting to upgrade my laptop to something more current, would love the ability to use both Chrome OS and Linux on one laptop!
Click to expand...
Click to collapse
There is, but it shouldn't be needed if you are installing Crouton. Uninstalling crouton is a simple delete command or a Powerwash of the Chromebook. Here is however how you recover your chromebook if anything goes wrong. https://support.google.com/chromebook/answer/1080595?hl=en
Was hoping for a new tutorial, but used this tut on other sites already..
If you're interested in going full linux + coreboot, check out this resource:
https://johnlewis.ie/custom-chromebook-firmware/rom-download/
And check out the boot speed!
And a screenshot of my c720 setup
http://a.pomf.se/jkfwzi.png
xWolf13 said:
There is, but it shouldn't be needed if you are installing Crouton. Uninstalling crouton is a simple delete command or a Powerwash of the Chromebook. Here is however how you recover your chromebook if anything goes wrong. https://support.google.com/chromebook/answer/1080595?hl=en
Click to expand...
Click to collapse
Thanks; I think I may have been thinking about tutorials showing how to upgrade the C720's SSD and the need to create a recovery image, but I appreciate the tip!
savoca said:
If you're interested in going full linux + coreboot, check out this resource:
https://johnlewis.ie/custom-chromebook-firmware/rom-download/
And check out the boot speed!
And a screenshot of my c720 setup
http://a.pomf.se/jkfwzi.png
Click to expand...
Click to collapse
I love our C720; we've got the 2GB/ARM model, is yours the 2GB/ARM or the 4GB/Intel?
EDIT: dur, just looked at your screenshot, nevermind How's ArchLinux run on just 2GB of RAM? I'm more used to Ubuntu/Kubuntu/Mint, which are more resource intensive, I think (Linux newbie here).
And if I recognize your name correctly, you did some work on the Evo 4G, didn't you? Great work, if I remember right......
Joshmccullough said:
I love our C720; we've got the 2GB/ARM model, is yours the 2GB/ARM or the 4GB/Intel?
EDIT: dur, just looked at your screenshot, nevermind How's ArchLinux run on just 2GB of RAM? I'm more used to Ubuntu/Kubuntu/Mint, which are more resource intensive, I think (Linux newbie here).
And if I recognize your name correctly, you did some work on the Evo 4G, didn't you? Great work, if I remember right......
Click to expand...
Click to collapse
Afaik the C720 doesnt have an ARM version? Arch runs just fine on 2GB but some of the AUR packages like google-ttf-fonts dig in so swap is necessary. EVO was a very long time ago accompanied by lots of noobishness!
savoca said:
If you're interested in going full linux + coreboot, check out this resource:
https://johnlewis.ie/custom-chromebook-firmware/rom-download/
And check out the boot speed!
And a screenshot of my c720 setup
http://a.pomf.se/jkfwzi.png
Click to expand...
Click to collapse
Reading through this, I still don't get what the script is doing? Is it installing a Linux? Also, how long did this whole process take you? I probably won't do it all today because break is now over. I'll try doing my next break.
Edit: Ohhhhhh now I get it. Will for sure do this to my chromebook. Thank God its supported lol. What distro are you running?
savoca said:
Afaik the C720 doesnt have an ARM version? Arch runs just fine on 2GB but some of the AUR packages like google-ttf-fonts dig in so swap is necessary. EVO was a very long time ago accompanied by lots of noobishness!
Click to expand...
Click to collapse
Man, I'm just on a 'type before looking' kick tonight; yeah, Intel processor for the C720. I'm in the process of trying to decide whether I want to upgrade my current laptop with a dual-boot Chromebook or shoot for the moon with a full 17" laptop, blow out the Windows 8 and go straight with a Linux build or two (or three, or....). I like the idea of the Chromebook, but I don't know if the smaller keyboard would put a hurt on my wrists with the Linux classes I'll be taking.
Anyways, outside the purview of this forum....thanks all for the input and the cool tutorial!
Sudo apt-get search (search terms)
Click to expand...
Click to collapse
i think it should be apt-cache instead
In terms of available drive space once Ubuntu's loaded, and suggested applications like Libre Office are installed, how are people finding the available SSD/internal memory space once all's said and done? I suppose getting SD cards to store stuff on would be a cheaper option than upgrading the internal memory, using Google Drive for basic office suite stuff, too.
Joshmccullough said:
In terms of available drive space once Ubuntu's loaded, and suggested applications like Libre Office are installed, how are people finding the available SSD/internal memory space once all's said and done? I suppose getting SD cards to store stuff on would be a cheaper option than upgrading the internal memory, using Google Drive for basic office suite stuff, too.
Click to expand...
Click to collapse
Usually, after a new installation of Ubuntu, I update everything then start uninstalling not needed things. I usually uninstall Libre Office as I use Google Drive as my office suite also.
Thanks to @savoca for telling us about the Coreboot! Without that, I wouldn't have known that we were able to put "full on" Linux on a Chromebook
See this link for a screenshot of Elementary OS on a Chromebook
xWolf13 said:
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
Click to expand...
Click to collapse
Aye was trying to keep it simple, but shall ad this later
exge said:
i think it should be apt-cache instead
Click to expand...
Click to collapse
fixed! cheers for that, should really start proof reading posts before submitting
xWolf13 said:
I may also add.
You are not restricted to only XFCE. You can install other distributions by specifying it. In the command in step two, you are able to replace xfce with unity, gnome, kde, lxde, e17, and even XBMC. You are also able to change which version of Ubuntu you want to install. You use the same command in step two but you add a -r and specify which version. You can read all supported ones over here . You can also put crouton within a window. Example of installation with xfce and ubuntu 14.04 is : sudo sh ~/Downloads/crouton -t xfce,xiwi -r trusty
Click to expand...
Click to collapse
ahhh good point slipped my mind, I've updated the guide to include your quote so you get credit. Cheers
Has anyone installed Kali with crouton?
Sent from my HTC One_M8 using XDA Free mobile app
fourhundredandtwenty said:
Has anyone installed Kali with crouton?
Click to expand...
Click to collapse
Kali should work fine using this method

Themes / Apps / Mods (Depreciated) RAM PLUS FOR SAMSUNG GALAXY F62

{
"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"
}
OFFICIAL TELEGRAM
Samsung Galaxy F62/M62 | Discussion
Official Global Discussion & Support group for Samsung Galaxy F62/M62. Our Official Channels: Updates: @SamsungGalaxyF62Updates Discussion: @SamsungGalaxyF62Discussion
t.me
Samsung Galaxy F62/M62 | OFFICIAL
Official Discussion group for ➤
Samsung Galaxy F62/M62
Official Channels & Groups ➤
• Updates : @SamsungGalaxyF62Updates
• Off-Topic : https://t.me/SamsungGalaxyF62Discussion
--++INTRODUCTION++--​
Users can enjoy enhanced performance for RAM-intensive games or photo and video editing mobile applications, and a smoother experience while running multiple mobile applications simultaneously thanks to virtual RAM Expansion.
Silently, the Korean tech giant has introduced the virtual RAM extension functionality, which brings up to 4GB of additional space to the smartphone. To be noted, the Galaxy A52s received Samsung RAM Plus feature along with a new firmware update, which makes RAM expansion possible. Makers are now extending it through software updates.
We had wondered at the time if RAM Plus would come to more Galaxy devices, and it looks like it will. RAM Plus was included in a software update for the Galaxy A52 5G recently, and while we thought it would only be available on the company’s mid-range and budget phones, that’s not the case. We can enable this feature now on this new bike device Samsung galaxy F62
After following this tutorial you can check if RAM Plus is available on your Galaxy device by opening the Settings app, going into the Battery and device care submenu, and tapping Memory.
REQUIREMENTS:​To Enable WRITE_SECURE_SETTINGS you will need a pc or if you are rooted you can follow root method .​For windows users = Working ADB and Usb Debugging Enabled.
For Rooted Users = Terminal Emulator (available in Google play store for free)
SetEdit (Settings Database Editor) - IMPORTANT APP (APP SHOULD NOT BE REMOVED AFTER MODDING)​
INSTRUCTIONS (ROOTED METHOD)​First steps you need to download and open the SetEdit Database editor app and open it.​Now as default it is “GLOBAL TABLE” and tap +ADD SETTINGS and you can see it is asking for WRITE_SECURE_SETTINGS permissions.
Now Download any Terminal Emulator and grant it necessary root permissions when asked.
*TYPE “SU” IN TERMINAL EMULATOR TO GRANT ROOT PERMISSIONS.
Copy the code below and paste it into terminal emulator to give it WRITE_SECURE_SETTINGS permissions.
Code:
pm grant by4a.setedit22 android.permission.WRITE_SECURE_SETTINGS
After applying this code open back the SetEdit App and now you can see it won’t ask for WRITE_SECURE_SETTINGS Permissions again.
Now tap the +Add New Setting button and name the setting as “ram_expand_size” and tap save changes and next it will show SETTINGS_VALUE remove this name and put this decimal “4096” now tap save changes that’s it. close the app and now by opening the Settings app, going into the Battery and device care submenu, and tapping Memory. ​
INSTRUCTIONS (WINDOWS METHOD “ADB")​1. Enable developer mode: go to android settings => about phone and look for the build number option. Touch it multiple times until developer mode is enabled.​2. Enable USB debugging: go to android settings => developer options and look for USB debugging and enable it​3. Install adb on your computer: check out this for a quick way to do this. At the bottom of the link you’ll find links for adb downloads for each system. Download it and extract it to “C:\adb”​4. Connect device with computer: connect your device with your computer and look at your phone. A prompt may show up asking you to allow debugging by your computer. Accept this.​5. Open command prompt: go to the fodler where you have extracted adb to and open your command prompt from within this folder. Simply open your command (press windows key, type cmd and press enter) and go to the folder where you have extracted adb to like following:​
Code:
cd C:\adb
6. Grant permission: Insert following command in the command prompt:​
Code:
adb shell pm grant by4a.setedit22 android.permission.WRITE_SECURE_SETTINGS
​Now tap the +Add New Setting button and name the setting as “ram_expand_size” and tap save changes and next it will show SETTINGS_VALUE remove this name and put this decimal “4096” now tap save changes that’s it. close the app and now by opening the Settings app, going into the Battery and device care submenu, and tapping Memory. ​​That’s it now you got the new Samsung Ram Plus Feature and don’t uninstall the SETEDIT App if u uninstall the app it will remove the ram expand string.​
I did everything as per your non rooted instructions. I know to use adb well. No errors occurred. The set edit app also shows my new setting added in the list but the memory still shows 8gb.
Is there anyone else who has managed to do this without root?
reis1996 said:
I did everything as per your non rooted instructions. I know to use adb well. No errors occurred. The set edit app also shows my new setting added in the list but the memory still shows 8gb.
Is there anyone else who has managed to do this without root?
Click to expand...
Click to collapse
It's virtual ram and DOSEN’T show up in actual ram. So your ram will be as like manufacturer but virtual ram is used when actual ram is filled
Hi RC, thank you so much for the info, it worked well.
I did this but not sure if its working or not. Any way to confirm this?
Btw cmd prompt gave me "adb.exe: no devices/emulators found" messages after writing down the secure setting string permission
KomitaMKD said:
I did this but not sure if its working or not. Any way to confirm this?
Btw cmd prompt gave me "adb.exe: no devices/emulators found" messages after writing down the secure setting string permission
Click to expand...
Click to collapse
rarely the extra ram plus is used btw. so the ramplus is only used when your ram gets filled up. you can download app called "Ram Fill Memory" and give it a try. or u can try apps like ram truth for ramplus usge
KomitaMKD said:
I did this but not sure if its working or not. Any way to confirm this?
Btw cmd prompt gave me "adb.exe: no devices/emulators found" messages after writing down the secure setting string permission
Click to expand...
Click to collapse
kill and restart adb server

Categories

Resources