Related
Hi,
I've been especially interested in getting Linux working on the Desire, and have discovered that the Ubuntu available for the Nexus one will not work. However,
(i cant post the link, but google "Archlinux on the Desire, Chroot inside" and it will be the first result).
is a thread where i followed the instructions and successfully chrooted into Archlinux. Problem is that Arch doesn't have a very large ARM repository - so no X.
There are a few questions i have. Firstly: Is it possible to add the Debian or Ubuntu repo to Pacman (the package manager for Arch)?
Is it possible to install Aptitude (and then add the repository)?
Something else that I am wondering. In the Thread provided, the tar.bz2 extracts to a fully functional chroot - how would one go about preparing Linux like that (for ARM) for another distro?
The problem with the Ubuntu chroot is that it wants to mount a .img. If the contents of the .img were extracted (i don't know how to do this), could it be manually chrooted from a directory instead of a file.
Thanks for readin'
Josh.
You could try putting the contents of the Ubuntu image on the ext partition of your SD.
You could do it quite easily on your phone.
Mount the image somewhere then just cp the files over to the ext partition.
hello, long time I visit this great site, but had never encouraged me to register. I managed to run ubuntu in the desire, following the same tutorial for the nexus one but with some minimal changes. If people are interested I can create a mini howto...
Sorry about english : )
Yes please do XD
Sent from my HTC Desire using XDA App, WHILE SHOUTING AT THE CAT
Yeah, please do!
I attempted to follow the nexus one guide, but i don't know enough about linux to work out why things don't/shouldn't work properly.
So yeah, if you made a guide, it'd be great!
Josh.
Hi !
I'm actually porting/playing with ubuntu on my Galaxy S. The goal would be to boot ubuntu "natively" from the ubuntu initramfs, but since i was unable to get a working framebuffer output on kernel boot (if someone have a solution for this, it would really help me), i'm using a chrooted environment for now. Some guys already had ubuntu to run on the Galaxy S in a chrooted environment, but the android UI was still running (using a lot of memory) and we had to use VNC to experience the ubuntu desktop. With this version, X is using the s3cfb framebuffer and fbdev driver to draw to the screen. I have also modified a Xorg input driver (plpevtch) to have a preliminary touch screen support. Since we still run it after the android services initializations, ubuntu will use the current connection (wifi, 3G).
If someone want's to play/help/try this stuff, here is the procedure i'v done for now :
Requirements :
- A Linux computer ( tested on ubuntu 10.10 )
- Galaxy S i9000 running an android kernel with ext2 support ( tested with Universal lagfix kernel )
- root (provided with the previous kernel i think)
- busybox (market)
- sdcard 2GB at least, primary partition formated to ext2 (play with the scripts to change to fat or ext4 etc)
- I think that's all
Download :
Download the attached package and extract it, this one contains the required scripts to download/patch ubuntu, prepare the sdcard, and stat/stop ubuntu.
Usage :
create.sh :
usage : create.sh /path/to/my/ext2/sdcard
This script will download the ubuntu netbook 10.10 compressed image for arm, decompress it, mount it then copy the filesystem to a specified path (should be an ext2 formated partition on the sdcard, and be the first partition on the sdcard ( /dev/mmcblkXp1 ).
Should be run first, one time ...
start.sh :
usage : start.sh
This script run "droid_ubuntu_init.sh" on the phone, which stop the android interface, mount the sdcard, prepare the chrooted environment and start a chrooted session (chroot_init.sh, which simulate a "daemon" to allow services to run in the background and start the ubuntu desktop.
Should be run everytime you wants to start ubuntu.
update.sh :
usage : update.sh
At the first "boot", ubuntu desktop (X) will not work, we have to update the distribution. To do so, run "start.sh" (if not already done) to start ubuntu, then run this script. It will update ubuntu (you should really use a wifi connection to do so), and X should then work. It will also install an ssh server. This will take a long time
Should be run one time.
====== Notes =====
If you want to run some "services", you should edit the file "scripts/chroot_init.sh" and add your service here (after the ssh service for example).
The package contains the "patch" applied to the ubuntu rootfs, and the sources of the modified touchscreen xorg input driver.
I did not work on a "stop" script yet, you'll have to reboot the phone if you want the android UI back.
It's really a work in progress, nothing really usable for now.
This is realy cool thumbs up
Il defently start looking at this at first possible time slice.
Download the attached package
Click to expand...
Click to collapse
Hi, where is the script ?
I would love to see Ubuntu running in native mode like it did on my former HD2 (witch, btw, i still think it's the best smartphone ever, Galaxy S - no were near).
mdalacu said:
Hi, where is the script ?
I would love to see Ubuntu running in native mode like it did on my former HD2 (witch, btw, i still think it's the best smartphone ever, Galaxy S - no were near).
Click to expand...
Click to collapse
Won't that be primarily because of the HUGE amount of development for it?
What about trying with a lightweight disto like puppy linux? last one uses lucid lynx package and it can run in ram (so very light).
Also maybe you can make some kind of "boot menu" using recovery mode:
in recovery mode, android is not started so if we add an entry to to recovery to run the start script on the sd from there it should be what you are looking for.
The only big problem i see for me to port ubuntu or anything else natively is a way to debug the boot process. Unfortunately, i was unable to get the kernel framebuffer to work, i would really need some help on this. For now it work great enough in a chrooted env to port some drivers etc. Anyone ? Else yes i'm using a custom rootfs to debug the kernel/drivers/rootfs.
Let's hope i find the time to try this tonight, while booting from a Ubuntu livecd
Oups, i did forget to attach the files. .. Will do so tomorow.
Has anyone worked on "really" porting another distro, done some work on kernel drivers? Actually it seems the s3cfb framebuffer isnt hardware accelerated using fbdev, preventing screen rotation and such. Any hint?
Hi,
I'm a french poweruser of Ubuntu (Server/Desktop).
May I have your script please?
Thanks,
RolluS
Hi,
I'm a french poweruser of linux
Mais ou sont donc les scripts ?
How is the script ?
Julien_050
Cpasjuste said:
Oups, i did forget to attach the files. .. Will do so tomorow
Click to expand...
Click to collapse
Posting the script might generate more interest.
When the files are up, i will try it thx.
koe1974 said:
Posting the script might generate more interest.
Click to expand...
Click to collapse
+1
hi, i was almost at goal, but when starting X-session, it unmounts my sd card... any ideas?
Right when it starts?
Maybe some x app is taking over the sdcard.. just an idea
I know, I know, I should be using Linux. I can't do that when I'm at work, however, and every method of loopback mounting for Windows XP I've Googled has yielded zilch for results. So are there any rom porters out there who have been able to mount any of the img files from an RUU as loopback devices? Anybody?
I'm a romwhore, and I'm damn proud of it.
RegnierD said:
I know, I know, I should be using Linux. I can't do that when I'm at work, however, and every method of loopback mounting for Windows XP I've Googled has yielded zilch for results. So are there any rom porters out there who have been able to mount any of the img files from an RUU as loopback devices? Anybody?
I'm a romwhore, and I'm damn proud of it.
Click to expand...
Click to collapse
First thought would be a little linux VM, which would work no question. (vBox or VMWare Server - free downloads from Oracle or VMWare)
Next is a utility I've used in windows that works well: I think it's called magicdisk. I think the only drawback I found was that now and then (and this was in old versions of it) it did such a good job of emulation that windows decided the actual hardware had changed and might ask to be re-activated. That may have been a complete fluke. In the device manager it appears to be an actual CD or floppy or whatever the img type is.
I doubt that every .img file will work, but I've not seen any .iso files that wouldn't loop mount. This is read-only of course.
http://www.magiciso.com/tutorials/miso-magicdisc-overview.htm
good luck - hashi
Just a thought... the kernel command line just runs /init. If I removed Android from /system, put the files for Arch Linux and symlinked /usr/lib/systemd/systemd to init, wouldn't Arch just happily boot atop the Android kernel? (I know, I'd need to make a custom kernel with systemd support). I'd probably also run into driver trouble, doubt X would work but I should at least be able to get to a tty, correct?
If that works... maybe I could reengineer some programs to use the Android drivers and use Gentoo to compile a Linux distro for the phone? Is this possible? Thanks!
I guess @ycavan is the guy to ask about this kind of thing?
You've pretty much described the sailfish os. I think there's a forum dedicated to that on xda.
Sent from my ASUS_Z00AD using XDA Free mobile app
I present to you instructions on how to get Arch Linux working natively on your shield TV dual booted with your Android rom. This is all thanks to the amazing people in this thread for getting Ubuntu on the shield and would not be possible without them.
http://forum.xda-developers.com/shield-tv/general/ubuntu-utopic-nvidia-shield-tv-t3150352
This install will put arch Linux on a micro SD card, and does not modify your shield at all if you so choose. First download these 2 files.
Archlinux Stage 3 install
http://archlinuxarm.org/os/ArchLinuxARM-aarch64-generic-latest.tar.gz
Kernel (Credits to jagger11 from his thread) You only need nvidia_boot.img
https://drive.google.com/folderview...ZSS1VxUVBJZmFqSXNFYUhpN2lHcklhVzZtX0Z5OENxdU0
To intstall
1. Unlock your shield TV
2. Format your SD card to EXT4
3. Mount the SD card
4. As the root user on your linux distro (not sudo) run this command (From the same directory that you downloaded that file to, and replacing mountpoint to where you mounted the SD to)
bsdtar -xpf ArchLinuxARM-aarch64-generic-latest.tar.gz -C mountpoint
5. Unmount the drive, then run the command "sync". When that finishes, pull the SD card from the computer.
6. Put the SD in the shield
7. Reboot to bootloader (adb reboot fastboot) with your preferred method
8. Boot Linux
To boot it once run this
a) fastboot boot nvidia_boot.img
To save to recovery run this (Reboot android to recovery to boot arch after)
b) fastboot flash recovery nvidia_boot.img
Default users and passwords are
root:root
alarm:alarm
For more information, check this page.
http://archlinuxarm.org/platforms/armv8/generic
Tested Working
*Ethernet
*USB
*TTY Terminals
*Framebuffer (Install X11 as usual and xf86-video-fbdev)
Untested
*WIFI (Should work)
*Bluetooth (Probably doesn't work)
Broken
*3D acceleration (Will work on this in the future)
*You tell me
*Sometimes does not boot after a few working boots (I think it's a problem with my SD, or my android install messing with it. Working that out now, but please report if you have this issue only after it boots fine at least once)
My request to you. I am not a kernel dev any more. I once was, but things have unfortunately changed, and I don't have the time or resources to learn it all again. If anyone wants to develop a kernel for this, please do and I'll add it in the OP. Unless something changes, and Ubuntu kernel from the Utopic thread will work fine here)
I'll format this a bit better later, but hopefully this is a good start. I have some good tips and tricks to add if people are interested in this, and was able to watch quite a lot of my videos in vlc even on framebuffer. Please give me some feedback on what you want to see, and ask any questions. I'll be glad to help!
kdb424 said:
I present to you instructions on how to get Arch Linux working natively on your shield TV dual booted with your Android rom. This is all thanks to the amazing people in this thread for getting Ubuntu on the shield and would not be possible without them.
http://forum.xda-developers.com/shield-tv/general/ubuntu-utopic-nvidia-shield-tv-t3150352
This install will put arch Linux on a micro SD card, and does not modify your shield at all if you so choose. First download these 2 files.
Archlinux Stage 3 install
http://archlinuxarm.org/os/ArchLinuxARM-aarch64-generic-latest.tar.gz
Kernel (Credits to jagger11 from his thread) You only need nvidia_boot.img
https://drive.google.com/folderview...ZSS1VxUVBJZmFqSXNFYUhpN2lHcklhVzZtX0Z5OENxdU0
To intstall
1. Unlock your shield TV
2. Format your SD card to EXT4
3. Mount the SD card
4. As the root user on your linux distro (not sudo) run this command (From the same directory that you downloaded that file to, and replacing mountpoint to where you mounted the SD to)
bsdtar -xpf ArchLinuxARM-aarch64-generic-latest.tar.gz -C mountpoint
5. Unmount the drive, then run the command "sync". When that finishes, pull the SD card from the computer.
6. Put the SD in the shield
7. Reboot to bootloader (adb reboot fastboot) with your preferred method
8. Boot Linux
To boot it once run this
a) fastboot boot nvidia_boot.img
To save to recovery run this (Reboot android to recovery to boot arch after)
b) fastboot flash recovery nvidia_boot.img
Default users and passwords are
root:root
alarm:alarm
For more information, check this page.
http://archlinuxarm.org/platforms/armv8/generic
Tested Working
*Ethernet
*USB
*TTY Terminals
*Framebuffer (Install X11 as usual and xf86-video-fbdev)
Untested
*WIFI (Should work)
*Bluetooth (Probably doesn't work)
Broken
*3D acceleration (Will work on this in the future)
*You tell me
*Sometimes does not boot after a few working boots (I think it's a problem with my SD, or my android install messing with it. Working that out now, but please report if you have this issue only after it boots fine at least once)
My request to you. I am not a kernel dev any more. I once was, but things have unfortunately changed, and I don't have the time or resources to learn it all again. If anyone wants to develop a kernel for this, please do and I'll add it in the OP. Unless something changes, and Ubuntu kernel from the Utopic thread will work fine here)
I'll format this a bit better later, but hopefully this is a good start. I have some good tips and tricks to add if people are interested in this, and was able to watch quite a lot of my videos in vlc even on framebuffer. Please give me some feedback on what you want to see, and ask any questions. I'll be glad to help!
Click to expand...
Click to collapse
Thanks for the new thread. You are correct that the "nvidia_boot.img" from jagger11 can boot to archLinux but the kernel I built can't.
I have always been using Ubuntu with desktop enabled by default. How did you install X11 under archLinux?
yahoo2016 said:
Thanks for the new thread. You are correct that the "nvidia_boot.img" from jagger11 can boot to archLinux but the kernel I built can't.
I have always been using Ubuntu with desktop enabled by default. How did you install X11 under archLinux?
Click to expand...
Click to collapse
Following the standard guide on their wiki.
I installed
xorg-server
xorg-server-utils
xorg-init
xf86-video-fb
And then just the standard startx after setting my xinitrc to the usual. In my case I used awesome WM, though you can use any, and exec that in your .xinitrc file
kdb424 said:
Following the standard guide on their wiki.
I installed
xorg-server
xorg-server-utils
xorg-init
xf86-video-fb
And then just the standard startx after setting my xinitrc to the usual. In my case I used awesome WM, though you can use any, and exec that in your .xinitrc file
Click to expand...
Click to collapse
I have to admit I was spoiled by Ubuntu which installs everything by default. I have to read archLinux wiki and try them tomorrow morning.
yahoo2016 said:
I have to admit I was spoiled by Ubuntu which installs everything by default. I have to read archLinux wiki and try them tomorrow morning.
Click to expand...
Click to collapse
Those packages will do you other than desktop manager, but I have to say, I'm pretty minimalist, and arch is by default, so don' feel too bad. I've just been using arch for the last few years, and was using Gentoo before that, which is all even more manual and source built.
https://wiki.archlinux.org/index.php/Xorg
That page will go through it all. Once you know what desktop manager you want (I recommend XFCE if you don't know what, or LXDE which is even lighter), check the pages out on there for them. It covers haw to do absolutely everything. I honestly use arch linux for the wiki. It's by far the best source of linux information on the net I'd be willing to bet.
kdb424 said:
Those packages will do you other than desktop manager, but I have to say, I'm pretty minimalist, and arch is by default, so don' feel too bad. I've just been using arch for the last few years, and was using Gentoo before that, which is all even more manual and source built.
https://wiki.archlinux.org/index.php/Xorg
That page will go through it all. Once you know what desktop manager you want (I recommend XFCE if you don't know what, or LXDE which is even lighter), check the pages out on there for them. It covers haw to do absolutely everything. I honestly use arch linux for the wiki. It's by far the best source of linux information on the net I'd be willing to bet.
Click to expand...
Click to collapse
What display driver should I install?
The wiki starts with
lspci | grep -e VGA -e 3D
But lspci does not work for shield TV.
yahoo2016 said:
What display driver should I install?
The wiki starts with
lspci | grep -e VGA -e 3D
But lspci does not work for shield TV.
Click to expand...
Click to collapse
xf86-video-fbdev works for me. Since we don't have access to the GPU directly, we are using the framebuffer at the moment.
kdb424 said:
xf86-video-fbdev works for me. Since we don't have access to the GPU directly, we are using the framebuffer at the moment.
Click to expand...
Click to collapse
That confused me since I thought xf86 meant x86 but Shield has Arm CPUs.
yahoo2016 said:
That confused me since I thought xf86 meant x86 but Shield has Arm CPUs.
Click to expand...
Click to collapse
Yeah, it's actually got nothing to do with architecture. Not quite sure why they are named as such. Also, xf86-video-fbdev isn't listed there as it's a last resort kinda thing, but it works well on the shield for the moment. Once I figure out why my system stops booting linux from time to time, I'll work on GPU drivers. Hard to know what broke it if I don't fix that first.
kdb424 said:
Yeah, it's actually got nothing to do with architecture. Not quite sure why they are named as such. Also, xf86-video-fbdev isn't listed there as it's a last resort kinda thing, but it works well on the shield for the moment. Once I figure out why my system stops booting linux from time to time, I'll work on GPU drivers. Hard to know what broke it if I don't fix that first.
Click to expand...
Click to collapse
You may want to have a look at this: https://github.com/NVIDIA/tegra-nouveau-rootfs
Arch Linux is the target rootfs and the Jetson TX1 is supported. Now the questions is how to get a mainline kernel running on shield tv. I guess one issue is the device tree which will not be provided by uboot like on normal arm systems. In the kernel configuration you can define that the device tree is appended to the kernel image (e.g. by "cat Image foster.dtb > newImage"). Maybe this is a solution.
Thanks_Meter said:
You may want to have a look at this: https://github.com/NVIDIA/tegra-nouveau-rootfs
Arch Linux is the target rootfs and the Jetson TX1 is supported. Now the questions is how to get a mainline kernel running on shield tv. I guess one issue is the device tree which will not be provided by uboot like on normal arm systems. In the kernel configuration you can define that the device tree is appended to the kernel image (e.g. by "cat Image foster.dtb > newImage"). Maybe this is a solution.
Click to expand...
Click to collapse
Thanks for the info. I'm going to have the next 2 days off work, so I'll definately get to work. I'm going to need assistance in getting a working kernel as I don't have an x86 machine around currently. Crazy, I know, but I don't. I'll see if I can get the drivers installed if someone works on a kernel. If not, I'll contact some of my linux friends and see what they come up with.
kdb424 said:
Thanks for the info. I'm going to have the next 2 days off work, so I'll definately get to work. I'm going to need assistance in getting a working kernel as I don't have an x86 machine around currently. Crazy, I know, but I don't. I'll see if I can get the drivers installed if someone works on a kernel. If not, I'll contact some of my linux friends and see what they come up with.
Click to expand...
Click to collapse
That link mentioned:
"The first prerequisite is that you must use an up-to-date U-Boot as bootloader"
Jetson TK1 and TX1 uses U-boot, Shield TV however uses fastboot not U-boot and the kernel is not Linux but Android.
I'd really like someone can have u-boot ported to Shield TV as 2nd or 3rd stage boot loader.
Damn! I just found out that this CONFIG_ARM_APPENDED_DTB trick only works with zImage but not with Image as needed for abootimg. Currently I don't have an idea how to get a mainline kernel running on the shield tv. I guess uboot makes no sense since we don't have an uart.
Thanks_Meter said:
Damn! I just found out that this CONFIG_ARM_APPENDED_DTB trick only works with zImage but not with Image as needed for abootimg. Currently I don't have an idea how to get a mainline kernel running on the shield tv. I guess uboot makes no sense since we don't have an uart.
Click to expand...
Click to collapse
u-boot could use netconsole:
http://forum.doozan.com/read.php?3,14,14
---------- Post added at 10:33 PM ---------- Previous post was at 10:28 PM ----------
My kernel can boot to command line archLinux now, I updated the procedure:
http://forum.xda-developers.com/showpost.php?p=64330336&postcount=147
I'll try that kernel when get home with the gui running on framebuffer. Should work.
kdb424 said:
I'll try that kernel when get home with the gui running on framebuffer. Should work.
Click to expand...
Click to collapse
I uploaded my latest kernel tested with command line archLinux:
https://drive.google.com/file/d/0Bz5kaPQJx_AgUklNekxGeWFuNW8/view
yahoo2016 said:
I uploaded my latest kernel tested with command line archLinux:
https://drive.google.com/file/d/0Bz5kaPQJx_AgUklNekxGeWFuNW8/view
Click to expand...
Click to collapse
Any chance you can maybe try to patch in the Nouveau kernel driver from here?
With a kernel running that I can get 3D acceleration work started. Till I get that sorted out I can only guess if my changes are working or not.
I'll also be trying to get the closed source binaries running on this. I have decided to pay a decent sum of money for a VPS to get a compile machine. Hopefully we can get this project rolling.
kdb424 said:
Any chance you can maybe try to patch in the Nouveau kernel driver from here?
With a kernel running that I can get 3D acceleration work started. Till I get that sorted out I can only guess if my changes are working or not.
I'll also be trying to get the closed source binaries running on this. I have decided to pay a decent sum of money for a VPS to get a compile machine. Hopefully we can get this project rolling.
Click to expand...
Click to collapse
I did not expect it'd take me so long just to have gui running for archLinux. As I mentioned before this thread started, I'd like to try Cuda 7.0 on ArchLinux. I main goal is to have Cuda working so I can use Gpgpu of Tegra for image processing and other applications.
A script or procedure for post installation to quickly install gui is what I was interested. To install archlinux rootfs without gui was very simple and I did it the first day when I received my Shield TV to troubleshoot Utopic rootfs. I could read the wiki to have gui working for archLinux, but I have to spend my time on other things, e.g., without hope to have u-boot or multirom working for Shield TV, I have to learn Android kernel (I'm in the process of clone Android kernel source tree).
I'll write a script for you once I get home. Thanks for the input. Any requests for a desktop environment or window manager? If not I'll just pick a light one like lxde.
kdb424 said:
I'll write a script for you once I get home. Thanks for the input. Any requests for a desktop environment or window manager? If not I'll just pick a light one like lxde.
Click to expand...
Click to collapse
Any desktop is fine. I'd like to push Cuda 7.0 from my build PC to archLinux like I did for L4T. Network connection and any desktop are what I need. If it works, we can see performance differences between 32 bits and 64 bits
Thanks.