Related
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
Soft chewy center
Here are instructions and downloads that will have you on your way in no time, to running Linux on an IPAQ hx4700.
Step 1: Download a disk image
Ubuntu light weight X desktop download
Android download currently this barely boots
Step 2: Uncompress the file
See p7zip link
Step 3a: Copy the image to a CF or SD card using Linux
Open a terminal and navigate to the directory where you extracted the img file.
Code:
cd somedirectory
Copy the image to the card using dd
Code:
sudo dd if=image-name.img of=/dev/sdx
Where x is the destination of your card. Note there is no partition number "i.e. /dev/hda1" Just the destination letter /dev/hda
Step 3b: Copy the image to a CF or SD card using Windows
Code:
stub
Step 4: Edit startup.txt if you are using a SD card
Code:
stub
Step 5: Run HaRET
Safely remove the card from your computer, insert it in to your hx4700 navigate to the card directory using the file manager then click on haret.exe
Hard crunchy shell
Stuff for the masochist that lives inside you.
Kernel 2.6.21-hh20
Found the source tarball for 2.26.21-hh20 on this link.
I found an android patch for 2.6.21 at this link.
Finally I hammered out this patch that applies smoothly with no fuzz.
And here is my .config file.
Android usb gadget and the low memory killer currently need some love. But without configuring them the kernel compiles nicely
A-Z build instructions
Code:
stub
HaRET
I use HaRET to boot linux on the hx4700, until that day comes when I have learned enough about the hx4700 to provide a ROM, tinboot isn't really that hard to use.
Also the latest HaRET does not boot the hx4700 maybe it is being built with a newer instruction set, until I get a newer version compiling there is an older version in the .img files that works fine.
stub- haret from source
Filesystems
These xxx.img files should be written to a cf card using dd, or sd card if you change startup.txt and the swap file in /dev/fstab. The card should be no less than 1 GB. Gparted can resize/move your partitions if you have a larger card.
I have to admit I don't have a 1gb card to test the img file on, only a 4 and 2 GB card. If someone who does have one finds out that it doesn't boot or something let me know.
Card image layout:
fat16 16mb [haret] partition 1
ext 880mb [root] partition 2
linux-swap 128mb [swap] partition 3
Creating an Ubuntu file system
Creating a file system to run Linux on the hx4700 via HaRET. Rootstock is a tool the will pull down precompiled packages suitable for various devices, from a server. Then install, unpack, and configure them on a disk image file system inside a virtual machine, all without you leaving the comfort of your x86 compatible environment.
For rootstock I followed this guide link.
I used this command to create the image.
Code:
sudo ./rootstock --fqdn ubuntu --login xda --password xda --imagesize 3G --seed tslib,build-essential,openssh-server,lxde,gdm --dist jaunty
I'm still thinking of including gnome-core simply for more function but lxde will have to do as the session manger. Gnome is just to heavy.
Light weight X download link at top of page
working:
the Mouse pad is configured
all drivers and firmware load
auto login via gdm.conf
/etc/network/interfaces is preconfigured for usb net and stubbed out for wireless.
not working:
touch screen - needs configured
wireless?? - I think only OPEN or WEP is supported ATM.
Android
stub- building the android filesystem
android.img download link located at top of post
now if I could just get the hang of making my forum post... not ugly
Nice! very nice!
Marvelous news, THX man!
...i love you! :']
As soon as I found this thread I smiled like a giddy school girl. My hx4700 might just be useful once again! I know nothing on programming... but i'd be glad to help out in any way possible!
Update folks,
I was up all night slaving away at this but, WE HAVE AN ANDROID PATCHED KERNEL!!! its 2.6.21.hh20 with android patches. This means the drivers should be easier to get worked out.
And Android almost boots, I suspect its the generic "goldfish" file system or some other trivial thing stopping it from booting all the way.
After mounting root and running /init, It shows the message "A N D R O I D_" then freezes well not really freezes the cursor continues to blink. but still almost there...
edit - links added
thanks
thanks a lot it's very usefull
Just seen a boot animation, it just got real people... but still not booting all the way.
keep up the good work...seems that this is the only development going on for my trusty iPaq 4700.......
I just want to say thanks for all the supportive comments. It's a real shot in the arm when I'm feeling over whelmed by the complexities of this. I did something really stupid with "sudo dd" last night and boogered up my root file-system, so I'm spending today re-setting up my build environment
All of the hardware is supported but just not pushed upstream but I’m working on a new 3.0 kernel right now for the universal when I finish I will add the hx4700 patches and post the source and message you. But I know wifi, Bluetooth, touchpad, sound, led, and all buttons work in 3.0. And these are the same on the universal and I have these working with froyo now. But I can post my 2.6.36 kernel I’m using now after I make a few corrections.
Here's my form page link
And this is where some of my code and android builds are: link
The common.tar.gz is my old 2.6.36 kernel I have to make some corrections and fix the hx4700 code I messed up and reload it in a day or so.
--I had to post this here as I got a message that you cannot receive private messages.
Thanks!
Don't know why you got that message, I did get your PM.
Could you make a tutorial, step by step how to run android(haret, etc.) on hx4700, please?
I'm noob in windows mobile tools
im currently running Angstrom on my hx4700
but would love android too..
havent tried any of these images yet. but ill probably have some
spare time this week..
/Kyndal
On tenterhooks ...
It failed to boot (couldn't mount /dev/hda2 I think) when I tried to install and run from a Compact Flash, so I'm in the middle of dd-ing to an SD card instead. Fingers crossed ...
EDIT: It boots fine from the SD card.
However, it's rather sluggish at best, and there don't seem to be many productivity apps -- and no onscreen keyboard. Still, it's a start!
EDIT 2: Attached a small photograph for the curious. Sorry about the blur, but I couldn't manage a better shot, given the lighting and the camera's fudged-up CCD.
kyndal said:
im currently running Angstrom on my hx4700
Click to expand...
Click to collapse
How in the world did you manage that? I've been trying to get Angstrom working on my hx4700 for months now, without success. (Aside from an old bootpack that literally has no useful programs.)
I haven't had much luck with any "new" Angstrom builds from the
narcissus online builder..
Right now. im running an older X11 build
booting from SD card .img file
Functional.. but ya. not up to date..
/Kyndal
kyndal said:
I haven't had much luck with any "new" Angstrom builds from the
narcissus online builder..
Right now. im running an older X11 build
booting from SD card .img file
Functional.. but ya. not up to date..
/Kyndal
Click to expand...
Click to collapse
I would like a copy of this .img file (cleaned of personal stuff, of course). It'd be nice to have a usable Angstrom for a change.
you can try it out with the prebuild images (OLD)
apparently im not allowed to post external links yet...
so go to this address
angstrom-distribution.org/releases/2007.12/images/hx4700/
and download
Angstrom-x11-image-glibc-ipk-2007.12-hx4700.rootfs.img.bz2
Angstrom-boot-2.6.21-hh20-r6-hx4700.exe
extract the .img file from bz2 to a FAT SD card
and place the .exe there too..
run the .exe select the img file. can be a little fiddly on the "touchpad"
"enter" is like in the middle. and half the time moves the cursor up/down
this linux lives in the loop .img file on vfat..
not on partitions. so pretty easy to try..
run these commands to get online with wifi
su
/sbin/modprobe acx
/sbin/modprobe hx4700-acx
/sbin/iwconfig wlan0 essid ACCESSPOINT
/sbin/ifconfig wlan0 up
/Kyndal
kyndal said:
you can try it out with the prebuild images (OLD)
Angstrom-x11-image-glibc-ipk-2007.12-hx4700.rootfs.img.bz2
Angstrom-boot-2.6.21-hh20-r6-hx4700.exe
Click to expand...
Click to collapse
Yeah, I've tried the image before - months ago -- but I didn't know about those commands /sbin! I'll give them a try and see if I can get anything useful installed (the image comes without any useful GUI - or even CLI, for the most part - applications).
EDIT: Unfortunately, even though the package manager seems to be capable of fetching the correct packages (it's hard to tell), it consistently fails to install them -- I even tried installing man and nano (one at a time) and was met with failure even though the URLs check out. (abiword took longer before failure, hence my suspicion it downloads fine).
I apologize for derailing the thread like this, but this is the only place I've found since I got interested in putting Linux on my iPAQ where someone is actually *answering* my questions.
It's ok Strife89, I appreciate you all actively helping out, I was out of town house hunting last week.
Maybe everyone here could come up with a "wish list" request for packages to be installed among other useful things/configuring/etc, so we can all help polish the ubuntu installation, and make it something nice/useful.
As far as android goes, I have more confidence in the kernel than I do the file system, as to where I am right at this moment, donut will boot and show a boot animation. That is as far as I have gotten, but still it is progress.
I look forward to working with anyone interested with helping out, so lets here some thoughts/suggestions.
Well let me add mine first I guess we need a clearer easier tutorial on getting linux booting from the sd or cf card. both of these options have subtle differences and need better defined instructions.
edit- As far as installing apps to the ubuntu.img. The usbnet interface is configured on the hx4700 side hopefully, if some one wants to do some googling on how to get it setup all the way on the PC side of things, I think we would all appreciate that. Then we could just ssh in and apt-get anything we wanted to try out or change. Later we could make it part of the download/tutorial after testing.
I need help I saw this bloghttp://bcmon.blogspot.com/2012/10/new-firmware-for-bcm4329.html
And I was wondering how do I get this to work, I downloaded the file they said to download (in attachments). I don't know what to do with it. Thanks for reading.
Most likely its to flash in recovery (only if rooted). HOWEVER, unzip it first and check to make sure theres an "updater-script" file in there somewhere
Those files are used to patch the Linux Kernel when you're booted into the Backtrack 5 mobile ARM virtual enviroment.
The changes are not done to the ROM on the phone but Linux image on the SD card.
The patch has an install script run setup.sh from the directory in a terminal in bt5.
Then reboot and modprobe the new wireless module.
This works only on Linux 64-bit
DISCLAIMER: It is always risky to flash your mobile device. I do not and will not take any responsibility for bootloops and bricks.
Please check carefully that the ROM or recovery.img you want to flash is suitable for your specific device and for the sp_flash_tool. The firmware directory should neither contain meta-inf nor system folder, but something_with_a_scatter.txt and a system.img
Backup your phone before flashing!
Your phone's battery should be at least half charged (50 percent) before you start this.
I successfully ran these steps on my UMI Hammer with Linux Ubuntu 14.04 and 16.04. I do not have other devices or Linux derivates and do not plan to buy/install any.
CREDITS and a zillion thanks to Sergio Rivero for his excellent tutorial on mibqyyo.com!!!!
Also many thanks to N2K1 for giving me some more background information!
So here we go:
Step 1:
If you haven't done so before, install the Linux generic usb-drivers package:
Code:
sudo apt-get update
sudo apt install libusb-dev
Download SP Flash Tool Linux (latest version): http://mtk2000.ucoz.ru/load/soft/soft_mtk/sp_flash_tool/5-1-0-14 (Password to extract currently is mtk2000v3)
or here https://androidmtk.com/smart-phone-flash-tool
In case you haven't done before, install unrar:
Code:
sudo apt install unrar
Extract the downloaded file -> graphic file manager (e.g. Nautilus): double-click and extract. Terminal:
Code:
unrar x path_to_file
(from now on: please adapt paths to your own settings)
Move the new folder „sp_flash_tool“ to a directory of your choice.
Code:
mv /home/username/Downloads/sp_flash_tool /home/username/...
You might also need to install libqtwebkit4 (it just happened to me on Linux Ubuntu 16.04):
Code:
sudo apt install libqtwebkit4
[Only For Ubuntu 16.10 and newer]
Run
Code:
dpkg -x libpng12-0_1.2.54-1ubuntu1.1_amd64.deb /tmp/libpng2
cp /tmp/libpng2/lib/x86_64-linux-gnu/libpng12.so.0.54.0 lib
cd lib
ln -s libpng12.so.0.54.0 libpng12.so.0
These libraries are still required for the flash tool but have been removed from new Ubuntu versions.
Thanks @hanalinqu, @z3r0c00l_2k https://forum.xda-developers.com/showpost.php?p=73484473&postcount=216 and @opticyclic https://forum.xda-developers.com/showpost.php?p=81543495&postcount=285 for this information!
Step 2:
Change into the newly created directory:
Code:
cd /sp_flash_tool
We make one file executable by typing:
Code:
chmod +x flash_tool
In order to avoid running the flash_tool as root user, you need to add a standard user to the usergroup "dialout" (thanks to @egalus for this bit!)
Code:
sudo adduser username dialout
For Arch Linux:
Code:
gpasswd -a username uucp
and activate the membership immediately
Code:
newgrp - dialout
(Arch Linux):
Code:
newgrp - uucp
Step 3:
Now you can open the tool:
Code:
./flash_tool
or double-click on the flash_tool icon.
You can try at this stage if the flash tool connects to your phone:
In the user interface, choose tab „Download“. Hit "scatter-loading", navigate to a directory with a valid firmware for your device and choose the scatter-file.
For testing purposes uncheck "name" and check one of the smaller files in the list below (for example "logo")
Switch off your device. Hit the "Download" button in SP_Flash_Tool and connect your phone to the computer. Some devices require you to take off the battery for about 10 seconds, with others you need to press Vol+ or Vol- while plugging the cable into the phone. Please look up device-specific threads and try out different options.
If nothing happens at all, open a second terminal, run
Code:
dmesg | grep usb
and look out for a MediaTek entry. If there is none → did you install libusb-dev (Step 1?)
If the answer is yes, you might need to create a persistent udev rule for the MTK Preloader:
Code:
sudo gedit /etc/udev/rules.d/80-persistent-usb.rules
Add the following line to the file:
Code:
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="*"
Save the file and exit.
Reload the usb-rules:
Code:
sudo service udev restart
Disconnect the usb data cable from the computer and the smartphone. Close the flash tool. Switch on your phone (fastboot mode will do). Repeat the first paragraph of Step 3.
If the tool connects, within a few seconds a red progress bar will appear. Unfortunately, in my case an error message came along with it:
S_BROM_CMD_JUMP_DA_FAIL (2035)
There is a connection, but also one more obstacle to overcome...
Step 4:
Now we come to the interesting part, which cost me 2 weeks of (futile) research and frustration. Finally I found Sergio Riveros tutorial on mibqyyo. Thanks to him again and again and again for this priceless piece of information
The “modemmanager” package integrated by default within Linux Ubuntu 14.04 and later is not compatible with the MTK Flash Tool for Linux
Click to expand...
Click to collapse
To put it in different words: The modem manager controls port /dev/ttyACM0 and disables the Flash Tool. So we blacklist it for the two MTK vendor IDs the flash tool uses:
Code:
sudo gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules
You insert these two lines:
Code:
ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"
Save the file, exit and restart udev:
Code:
sudo service udev restart
Switch your phone on (fastboot mode will suffice) and off again.
Step 5:
Code:
./flash_tool
or double-click on the flash_tool icon.
Now everything should run smoothly. In case you encounter
Code:
BROM ERROR : S_SECURITY_SF_CODE_FORMAT_FORBIDDEN (6012) , MSP ERROE CODE : 0x00
change the download agent to MTK_AllInOne_DA.bin (screenshot #4)
There are plenty of tutorials on the web for the further steps.
Happy flashing! When a green circle with a white checkmark appears, you are done. You can close the flash tool and disconnect your phone. For a clean start with a new ROM boot into recovery and wipe data/factory reset.
Kudos for the udev rules, I finally managed to root my phone and disable some vendor crap thanks to you!
Thanks, I'm glad to read that it worked for you as well
Great post!
Just wanted to say you saved me HOURS OR DAYS OR WEEKS of time on the modemmanager thing. I have Arch Linux, successfully ported over this tutorial, but I had no idea the modemmanager package was causing the issue. SP Flash Tool was the last frontier for using my Android devices on Linux. Thanks so much!
You are very welcome! Since it took me two weeks to find the cause for "S_BROM_Error [2035]" I wanted to spare other "victims" the experience
This is a very nice, HQ post. Keep up the good work.
But I would like to suggest two corrections:
1) The mv command is unnecessary. you don't have to copy the folder to the root directory to run it as root.
2) Please also add a final step to delete the udev rules so as to re-enable the modem manager after rooting.
Though most of the people who would be reading your thread would be knowledgeable linux users, they won't need these suggestions, but anyways, it would make your guide complete.
Thanks for your feedback @daltonfury42
1) Of course you don't need to move to move the folder to / .As I wrote, you can also use your /home/user directory. But you shouldn't keep it in "/Downloads" or "/tmp", since you might have deleted the folder by the next time you want to use the flash-tool.
Step 2), as you suggest it, is redundant on a private computer, because you blacklist the modemmanager for the flash-tool only, and for nothing else. SP_Flash_Tool uses different Vendor and Product IDs than MTP/USB/ADB/Fastboot mode, and these IDs are not related to your specific device. So the modem manager is up and running - even while you flash - on every other active (network-relevant) usb-port of your computer And it will be up and running on the usb-port you use for the flash-tool when you disconnect the phone and then plug in something else - or the same phone in a different mode... But due to the permanent
Code:
/etc/udev/rules.d/20-mm-blacklist-mtk.rules
entry the modem manager will be automatically blocked if you connect your phone to the SP_Flash_Tool a second time - no matter which port: no further preparations necessary
If you want to check it out, take a look the output of
Code:
dmesg | grep usb
connecting your phone "normally" and compare it with the same command -> output connecting your phone to the SP_Flash_Tool - and/or to the contents of the file "usb_setting.xml" in the SP_Flash_Tool directory My udev rule simply tells the modem manager to ignore two vendor IDs named in that file.
edit: if you "flash" your linux computer more often than your Android device, you should remember to backup the folder and the udev rules
Miss Montage said:
Thanks for your feedback @daltonfury42
1) Of course you don't need to move to move the folder to / .As I wrote, you can also use your /home/user directory. But you shouldn't keep it in "/Downloads" or "/tmp", since you might have deleted the folder by the next time you want to use the flash-tool.
Step 2), as you suggest it, is redundant on a private computer, because you blacklist the modemmanager for the flash-tool only, and for nothing else. SP_Flash_Tool uses different Vendor and Product IDs than MTP/USB/ADB/Fastboot mode, and these IDs are not related to your specific device. So the modem manager is up and running - even while you flash - on every other active (network-relevant) usb-port of your computer And it will be up and running on the usb-port you use for the flash-tool when you disconnect the phone and then plug in something else - or the same phone in a different mode... But due to the permanent
Code:
/etc/udev/rules.d/20-mm-blacklist-mtk.rules
entry the modem manager will be automatically blocked if you connect your phone to the SP_Flash_Tool a second time - no matter which port: no further preparations necessary
If you want to check it out, take a look the output of
Code:
dmesg | grep usb
connecting your phone "normally" and compare it with the same command -> output connecting your phone to the SP_Flash_Tool - and/or to the contents of the file "usb_setting.xml" in the SP_Flash_Tool directory My udev rule simply tells the modem manager to ignore two vendor IDs named in that file.
edit: if you "flash" your linux computer more often than your Android device, you should remember to backup the folder and the udev rules
Click to expand...
Click to collapse
@Miss Montage, very informative. Thankyou.
You're welcome - but please do not post full quotes
Hi. Thanks for the tutorial :good:
I'm getting "PMT changed" error with the right scatter when tried to flash bootimg/recovery only.
Where did you get the scatter file? Generally this error code means that the partition table is different to the one on your device. This should only be the case - occasionally - if you flash a complete firmware.
(Or replace Android through Ubuntu / vc. vs.)
Miss Montage said:
Where did you get the scatter file? Generally this error code means that the partition table is different to the one on your device. This should only be the case - here and then - if you flash a complete firmware.
(Or replace Android through Ubuntu / vc. vs.)
Click to expand...
Click to collapse
I know this error, so I am surprised
scatter is from my stock rom. Same i used to flash.
Hmm, dunno why that is. Can you compare the scatter.txt to the /proc/emmc file on your phone?
And at what stage do you get the error? Immediately after connecting or later?
Miss Montage said:
Hmm, dunno why that is. Can you compare the scatter.txt to the /proc/emmc file on your phone?
And at what stage do you get the error? Immediately after connecting or later?
Click to expand...
Click to collapse
Right now I remembered in windows long ago got the same problem.
This happens if I try to use flash sp tool new versions
In windows:
Working: v5.1352.01
Not Working: v5.1512.00.000
Click to expand...
Click to collapse
The sp_flash_tool_linux 5.1520..... worked perfect for me though... Have you tried an earlier version?
Miss Montage said:
The sp_flash_tool_linux 5.1520..... worked perfect for me though... Have you tried an earlier version?
Click to expand...
Click to collapse
SP_Flash_Tool_Linux_v5.1452.00.100 tested, same problem.
SP_Flash_Tool_Linux_v5.1436.00.100 also tested and same.
No older versions found
The version v5.1504.00.100 works on my 64-bit-system, too... But the error seems to be caused by something else. Have you checked the SP logfile?
Have you also tried the newest version? I just involuntarily re-flashed my UMI Hammer with it... Wanted to choose the twrp only, but too much multi-tasking leads to no good
Miss Montage said:
The 32bit-version v5.1504.00.100 works on my 64-bit-system, too... But the error seems to be caused by something else. Have you checked the SP logfile?
Click to expand...
Click to collapse
Tested and same.
Here logs
Hmm, I will compare these lines to a successful log:
08/13/15 23:57:01.942 BROM_DLL[6767][6774]: FlashTool_ReadPartitionInfo(0x7f7b840038a0,0x7f7b84013310,0x7f7b00000013): mutex: LOCK ... (mutex.cpp:151)
08/13/15 23:57:01.942 BROM_DLL[6767][6774]: FlashTool_ReadPartitionInfo(0x7f7b840038a0,0x7f7b84013310,0x7f7b00000013): mutex: UNLOCK. (mutex.cpp:166)
08/13/15 23:57:01.943 BROM_DLL[6767][6774]: FlashTool_Disconnect(0x840038A0): mutex: LOCK ... (mutex.cpp:151)
Click to expand...
Click to collapse
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.