yashsingh1/xdaforums huggingface dataset:
[Shield Android TV General] yahoo2016:
I got the same issue for L4T24.2.

I replaced dtb from L4T 24.1 with dtb from L4T 24.2 without issue, Android and L4T24.1 still boot

I tried 24.2 rootfs with 24.1 kernel, it boots with console prints but no desktop.

I tried 24.2 kernel with different def_configs, only Nvidia logo showed up, no console out from HDMI or USB console.

I hooked up serial console, it showed ramdisk was loaded and kernel was started and hang at BPMP FW load.
[Shield Android TV General] raubtier2:
Hello all,

I used 24.2 rootfs, 24.1 kernel and 24.1 dtb. And it runs with problems:

No Problem to log in in 4k-resolution. But the system lost the mouse pointer. I can use the mouse but

I don't see a cursor. So the system is not very useable. I tried a few things with the system and sometimes I got the mouse pointer, but I don't know why.

With the visible mouse pointer I tried a few other things. Firefox is crashing on my system. The installed chromium-browser did not start.

That's my experience till now.:(
[Shield Android TV General] CableBurner:
Some loose toughts:

Are you sure this output is already coming from the kernel? I think this is from fastboot, as i can't find find the strings in kernel src.

Does anybody know where the bpmp.bin is stored within the android rootfs? Is it in some of the thousand emmc partitions?

Maybe we must put it into the initrd ramdisk, that the bootloader can find it.
[Shield Android TV General] yahoo2016:
Those outputs were from cboot, kernel did not print out anything, I believe for some reason, SATV cboot could not start L4T 24.2 kernel.

I'm investigating how to boot to Jetson TX1 uboot. If we can have uboot working as the 3rd stage boot loader, it'd be easier to boot to future updates of L4T.

At least I have serial console working, it helps to port uboot to SATV.

I can build L4T uboot, but have to figure out how to convert it to Android (fastboot/cboot) boot image format.
[Shield Android TV General] anchung.chen:
New TX and RX pin of serial-console on SATV

Hi yahoo2016:

I just found the NEW TX and RX pins for the serial-console on SATV. See the attached Photos.

The location is on a "1.8V to 3.3V(?) level-shifter" chip which is not mounted on PCB. And to find it, you don't need to remove any screws or cables.

Since soldering on such small pin is very hard, I solder two consecutive pins together to one thin wire. And I had checked that these extra pins are just open circuit on the PCB.

Now I have tools for debugging the Kernel and u-boot.

Here is some outputs from interactive serial-console.

Ubuntu 14.04.5 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Last login: Tue Jan 1 08:07:58 CST 2013 on ttyS0
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.10.96-tegra aarch64)

* Documentation: https://help.ubuntu.com/
ubuntu@tegra-ubuntu:~$ [ 27.800326] pgd = ffffffc0a07df000
[ 27.803724] [0000000c] *pgd=000000013a3de003, *pmd=000000013cab9003, *pte=000 0000000000000
[ 27.812101] Library at 0xf289be44: 0xf287d000 /usr/lib/arm-linux-gnueabihf/qt 5/plugins/platforms/libqxcb.so
[ 27.821830] Library at 0x2: 0x8000 /usr/bin/signon-ui
[ 27.826870] vdso base = 0xf751b000

ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$ * Starting early crypto disks... [ OK ]
* Setting up X socket directories... [ OK ]
* speech-dispatcher disabled; edit /etc/default/speech-dispatcher
* Starting NTP server ntpd [ OK ]
saned disabled; edit /etc/default/saned

ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$ echo "hello from serial-console"
hello from serial-console
ubuntu@tegra-ubuntu:~$

notes: On your post #308, Y9 is the TX pin. I check the connection and found that Y10 is the RX pin. For me, Solder 2 wires on this area is also very difficult.
[Shield Android TV General] yahoo2016:
This is much easier to solder than the imposer pads, I'll try it when I get time. It'd be even better(safer) to install the 1.8V/3.3V converter and solder the wires to 3.3V IOs.

I did manage to have a kernel working for l4T24.2 rootfs (ubuntu 16.04):

https://drive.google.com/file/d/0Bz5kaPQJx_AgNVl6VkRTbWl4c1U/view?usp=sharing

Chromium seems working (/usr/bin/chromium-browser).

Firefox crashes.
[Shield Android TV General] yahoo2016:
You can try boot images from the link in my previous post or add "CONFIG_ANDROID=y" to "tegra210_defconfig" and rebuild kernel.
[Shield Android TV General] raubtier2:
Thank you yahoo2016,

with a self compiled kernel, from L4t4.2 with CONFIG_ANDROID=y, I can boot into the rootfs without

a problem in UHD (3840x2160). With this configuration, I get a mouse pointer and I can work with this system.

This looks like the best L4T-System for the shield-console till now. Firefox crashes for me to, Chromium browser looks good. Youtube-videos with UHD resolution (3840x2160) are running not smoothly, but HD-videos (1920x1080) are running without a problem

Thank you for your tip with CONFIG_ANDROID=y.
[Shield Android TV General] yahoo2016:
Thanks for the feedbacks.

Have you tried "sudo ./jetson_clocks.sh" from "/home/ubuntu" to improve 4K performance?

Firefox crashes were also reported on Jetson TX1 forum and:

https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1598605
[Shield Android TV General] anchung.chen:
Hi yahoo2016:

My SATV-PRO could boot into L4T R24.2 ubuntu with your suggestion to set CONFIG_ANDROID by "make menuconfig". Thank you for your suggestion.

For some experiment, I flash the TX1 R24.2 dtb (tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb) and also flash the self-made android kernel image with official R24.2 Kernel into SATV-PRO in android boot-loader mode.

After rebotting, it hangs at the same place as my #392 post from serial-console outputs. But I could not boot into android boot-loader mode again after many attempts, It seems that that NV boot-loader read the dtb and disable the touch reset button ?

Since I am using SATV-PRO, so it has almost no risk of bricking the device. I remove the SSHD from SATV-PRO, connect it to the ubuntu host PC and dd the SATV-PRO dtb sectors to fix it.
[Shield Android TV General] demotomohiro:
Hi yahoo2016,

Thank you for sharing your boot images and necessary kernel option for SATV.

I built my kernel for SATV and successfully upgraded to L4T 24.2.

I found a way to login to SATV by connecting USB cable from it to Host PC.

It doesn't use a USB to serial adapter or PC with serial port.

It uses USB gadget serial driver.

I added kernel option "USB Modem (CDC ACM) support" to the kernel used in my host PC.

I set CONFIG_USB_G_SERIAL=m to the kernel for my SATV.

Load g_serial module:

modprobe g_serial

Set USB to device mode:

echo connect > /sys/devices/platform/tegra-udc.0/udc/tegra-udc.0/soft_connect

Connect from a microUSB of SATV to a USB port in host PC.

Then, /dev/ttyGS0 appears in the SATV and /dev/ttyACM0 appears in the host PC.

Execute following command in SATV:

sudo systemctl start serial-getty@ttyGS0.service

Execute minicom in host PC and set Serial Device to /dev/ttyGS0 and remove modem Init and Reset strings:

minicom -s

Then, I can login to SATV from Host PC.

I read following page and I modified usbcon.service file for L4T.

https://github.com/RPi-Distro/repo/issues/17

Save following code to /etc/systemd/system/usbcon.service

[Unit]
Description=USB console on ttyGS0

[Service]
Type=oneshot
RemainAfterExit=yes

ExecStartPre=/sbin/modprobe g_serial
ExecStartPre=/bin/sh -c "echo connect > /sys/devices/platform/tegra-udc.0/udc/tegra-udc.0/soft_connect"
ExecStart=/bin/systemctl start serial-getty@ttyGS0.service

ExecStop=/bin/systemctl stop serial-getty@ttyGS0.service
ExecStop=/bin/sh -c "echo disconnect > /sys/devices/platform/tegra-udc.0/udc/tegra-udc.0/soft_connect"
ExecStop=/sbin/modprobe -r g_serial

[Install]
WantedBy=getty.target

Enable usbcon.service so that you can always use USB gadget serial without typing commands:

sudo systemctl enable usbcon

While usbcon.serivce is active, a micro USB port of SATV is in device mode but other two USB ports are in host mode.

It might help you when you cannot use HDMI display, ssh connection and USB to serial adapter.

But it is not helpful when you got crash during boot because it require executing some commands.

It would be nice if I could add "console=/dev/ttyGS0" to kernel parameter and I can read boot log from host PC without using 2 USB to serial adapters or PC with serial Port.
[Shield Android TV General] yahoo2016:
I'm convinced by "almost no risk of bricking" SATV Pro and going to get one for hacking.
[Shield Android TV General] yahoo2016:
I could not figure out how to get USB console between SATV and hosting working a while ago and used back-to-back USB-UART adapters. This is very useful as a software approach to connect host and SATV using only USB cable.
[Shield Android TV General] anchung.chen:
Here is my mSATA SSD setup in SATV-PRO for accessing SSD Drive quickly and savely.
[Shield Android TV General] urisma:
Yeah, it's really easy with the pro since the nvidia bootloader is hardcoded to boot from external. But even then, the non pro is probably not brickable as well. It's possible to get the shield tv into emergency download mode. I've done it and can communicate with it, but I haven't managed much more than that. L4T comes with flash scripts to get the jetson tx1's eMMC back to stock.; these could probably be modified for shield tv support as well.

I'm hoping I can adapt that script to work with the shield and boot from sda (it would probably work with the shield tv's eMMC as well), which would basically be a 1 : 1 of the jetson tx1's eMMC. I really just want uboot support.

I've tried booting uboot on my shield, but I dont have a serial console or anything to detect boot errors, and the screen just stays at the nvidia splash screen.
[Shield Android TV General] yahoo2016:
I and many others had bricked SATVs before ROM 3.0. Recovery mode was not working. Nvidia was kind enough to replace many those bricked SATVs. SATV could be bricked for ROM3.0 and after, e.g., if the wrong dtb was flashed, as mentioned by anchung.chen.

If recovery mode failed to work, I'm not sure how to use fastboot or TX1 script to recover SATV since EMMC is not removable. Some mentioned SATVs have SBK (Secure Boot Key) while TX1s do not use SBK.

I have serial console for my SATV and tried many ways to convert TX1 uboot to Android boot image format without success. uboot source does not have dtb for SATV.

.
[Shield Android TV General] yahoo2016:
I also mounted a Samsug M2 SSD on a SATA adapter.

I'm wandering if you have tried to split the last partition (32) of SSD such that Ubuntu rootfs can be installed on partition 33.
[Shield Android TV General] yahoo2016:
Do you need to manually edit GTP table or you just need to run gdisk?

In the past, I had disabled EEPROM of some devices to force device into recovery mode and re-enable EEPROM without power cycle to re-flash it. The ways to disable EEPROM include cut power trace, or short/open one of the address lines.

When you remove HDD of SATV Pro, can you put it into recovery mode? It may be difficult to disable EMMC of SATV.
[Shield Android TV General] anchung.chen:
I wrote a simple program to modify the GTP table for any hard drive to use on SATV-PRO.

When I remove Hard Drive of SATV-PRO, It will enter APX recovery mode. And I just try to disable the eMMC of SATV by shorting some of the eMMC pin to ground.
[Shield Android TV General] urisma:
I don't think we're talking about the same page.

Basically, the shield has two different things that could be construed as "recovery mode": the fastboot menu, which I believe you're talking about, and "RCM" recovery (which I referred to as emergency download mode. I suppose I was mixing up my terms. I work at a similar company to nvidia and we call this mode emergency download mode (EDL)).

RCM recovery mode is entered into by boot ROM if no valid Boot Configuration Table (BCT) is found on the boot memory device (i.e. eMMC or harddrive). From RCM recovery mode, you can interface with the shield via nvidia's own tools, tegraflash, tegrarcm, etc. You can send images via the usb cable and they'll totally reformat the boot memory device.

Fastboot exists much later on in the boot chain after the device has begun booting from the boot memory device, so if the boot memory is bad you'll never get to it.
[Shield Android TV General] yahoo2016:
Thanks for clarifications. So the "emergency download mode" is same as "APX" mode which anchung.chen mentioned earlier when he disconnected SSD:

http://xdaforums.com/wiki/APX_mode

A potential issue would be if SATV can accept unsigned boot code in RCM recovery mode without SBK.
[Shield Android TV General] Bskinator77:
sda32.img

@ Yahoo2016

I have used all of your images, and they all work for both SATV & Pro. However, when I use your boot_sda32.img I am not allowed to add ppa(s) and the software & updates icon under system settings does not work. It seems to be a permissions error that I have not been able to work around. This only happens with boot_sda32.img. I thought it was my installation procedure, but I have checked it, gone through all the steps 3x with the same end result. I may need to generate my own image.....? Thoughts...

This is using your latest posted boot_imgs SATA (l4t24-2satv)
[Shield Android TV General] yahoo2016:
I only have 16GB SATV, I ordered SATV Pro but have not received it. I have not tested boot_sda32.img.

It does seem permission issue but could be rootfs issue. You could try to build your image using "tegra210_defconfig" with "CONFIGURE_ANROID=y".

How did you copy rootfs to sda32? I would put rootfs on SD card, boot to Ubuntu on SD card, mount /dev/sda32 to /mnt and use "sudo cp -a rootfs/* /mnt && sync".
[Shield Android TV General] Bskinator77:
It would not let me copy to sda32. I built rootfs on mmcbkl0, then copied to sda32. I first tried with a 500GB ssd that replaced the original shhd but, the SATV acted funny with it installed: usb would come and go, would not automatically boot when the power plug was inserted (had to hold the power button until the Pro shutdown then tap the power button again to boot). I agree with a amed68 about the incomparability using an ssd due to double of the current draw. Once I went back to an SHHD everything went back to normal.
[Shield Android TV General] yahoo2016:
I would keep the original SHHD as backup and use an SSD or HDD with less capacity and current draw for experiments (edit GTP table according to the other thread). What errors did you get when you tried to copy rootfs from mmcblk0 to sda32?
[Shield Android TV General] Bskinator77:
I first got a SATV up and running with L4T with an SD card. It looked nice, but too slow for my intentions. I moved on to a 16GB USB thumb drive that worked nice, but now I had too have this USB thumb drive sticking out of it to work. I really don't have the time to hack together a HDD onto the SAYV so, I got a SATV PRO with hopes of either utilizing mccblk0 or sda32 of the shhd. I found that mccblk0 contains a GPT table. There is also mccblk0pmb, which I am assuming is boot instruction migrating it from mccblk0 of the SATV and over to the system part of the shhd of the SATV Pro? I tried to use cp -a * /dev/sda32 from the USB thumb. It first stopped me with acess and permissions errors. I tried @ root and then it threw up can not copy / / onto itself. I thought about it afterwards that 'dd' would have probably worked. Oh well. A word of caution: Only sda, mccblk0, show up in GParted. None of their partitions show. One wrong move on mccblk0 could be problems. To get my "workspace" set up on mccblk0 I first booted in ubuntu via a 16GB USB thumb. I ran mkfs.ext4 /dev/mccblk0. Then I copied the two zipped files and the wifi fix to mccblk0 built my rootfs and copied it to sda32 with no problems. When I unplugged and plugged back in for flashing boot_sda32.img the original method for a hardware bootloader entry would not work. Now, you need two sets of hands.

1 Plug in the power

2 within a quarter second plug in the micro usb to the SATV Pro ( have the other end connected to the host already) 3 within a quarter second of plugging in the micro usb push and hold the power button

4 bootloader loads

I tried this multiple times and this sequence worked for me every time once I got the timing down.
[Shield Android TV General] yahoo2016:
Thanks for detailed information which will help many people.

1. "cp -a * /dev/sda32" from "/" won't work because "/dev/sda32" is under "/". That's why I posted earlier using "sudo cp -a rootfs/* /mnt && sync". "rootfs" is not "/" but the "rootfs" under "Linux_for_Tegra". If the "Linux_for_Tegra/rootfs" is on SD or USB, you could copy it to mmcblk0p29 of SATV 16GB or mmcblk0p1 or sda32 of SATV Pro after boot to SD or USB.

2. Do you know which step caused original "fastboot" method failed to work? Your new method could help people who had "bricked" their SATVs.
[Shield Android TV General] Bskinator77:
Once I used mkfs.ext4 /dev/sda32 then copied the contents of the rootfs into it, upon reboot it seemed to deactivate the hardware bootloader entry method. I played with it for about 10 minutes before I found my way back into the bootloader.

I am going to grab an image of mccblk0pmb to see how I can modify it, etc.

I also going to try to grab an image of nvram0, which I assume is bios and instruction
[Shield Android TV General] CableBurner:
Hey yahoo,

which kernel source tree did you use? wifi is not working for me...

According to dmesg, kernel is not even trying to load wifi firmware and to init the hardware.

i used: http://nv-tegra.nvidia.com/gitweb/?p=linux-3.10.git;a=summary with branch tegra-l4t-r24.2

Modified tegra21_defconfig with CONFIG_ANDROID=y

With our build it's working.

Could you also share your defconfig?

Best Regards,

Udo

Edit: it's working with *your* build
[Shield Android TV General] yahoo2016:
The drivers for Wifi are configured as modules by default. The attached defconfig should have wifi working.
[Shield Android TV General] CableBurner:
Thank you very much!

My built kernel is now running like hell!

The only thing i had to change was the usb autosupend disable by extending the bootloader kernelargs through the defconfig.
[Shield Android TV General] ariestaruk:
I'm back..

Hi [MENTION=7098998]yahoo2016[/MENTION],

I read your update for the Jetpack 2.3, and I'm a bit confused.. Can you now flash the L4T in the eMMC as well? This used to brick the SATV?

So, what is the easiest method to update from the old Jetpack 2.2 to this?

Thanks as always for all your help
[Shield Android TV General] yahoo2016:
Do not use any version of Jetpack to "flash OS" through SATV micro USB port!!!

You could use Jetpack to install Cuda and other software packages through Ethernet.

You should use "fastboot boot" to test new kernel and "fastboot flash" to flash new kernel.

If you want also to put L4T rootfs to eMMC, /dev/mmcblk0p29 could be used, you won't be able to use Android because "data" partition is used by L4T rootfs.
[Shield Android TV General] yahoo2016:
To install the latest L4T rootfs on SD card or USB drive:

1. Download from Nvidia or run Jetpack 2.3 to acquire the following 2 files and place them in your <L4T_install_folder> of a Ubuntu laptop:

Tegra210_Linux_R24.2.1_aarch64.tbz2

Tegra_Linux_Sample-Root-Filesystem_R24.2.1_aarch64.tbz2

2. Extract the compressed files:

cd <L4T_install_folder>
sudo tar xpf Tegra210_Linux_R24.2.1_aarch64.tbz2
cd Linux_for_Tegra/rootfs/
sudo tar -jxpf ../../Tegra_Linux_Sample-Root-Filesystem_R24.2.1_aarch64.tbz2
cd ..
sudo ./apply_binaries.sh

3. Copy L4T rootfs to SD card or USB drive

Prepare your SD card or USB drive such that it has at least one primary partition, using fdisk or gparted.

Assuming the first partition of the SD card or USB drive shows as "/dev/sdb1" on your ubuntu laptop and your are still in <L4T_install_folder>/Linux_for_Tegra folder:

sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /mnt
sudo cp -a rootfs/* /mnt && sync
[Shield Android TV General] yahoo2016:
To install L4T on internal EMMC or HDD, first prepare the SD card or USB drive according to the previous post:

http://xdaforums.com/showpost.php?p=69202451&postcount=421

and create your <L4T_install_folder> the same way to create L4T rootfs with binaries applied on the same SD card or USB drive.

Boot to Ubuntu on SD card or USB drive, you should see partitions of internal EMMC or HDD.

For 16 GB SATV, you could use /dev/mmcblk0p29 for Ubuntu.

For SATV Pro, you could use /dev/sda32 for Ubuntu or modify partition table to add partitions (e.g. partition 33, 34 or 35) for Ubuntu.

Use the same procedure to format/mount the partition, and copy rootfs from <L4T_install_folder> to the partitions.

You can use pre-build kernels in the first post:

"boot_mmcblk0p29.img" for rootfs on /dev/mmcblk0p29

"boot_sda32.img" for rootfs on /dev/sda32
[Shield Android TV General] dietgert:
Screen turns black ...

Hmm ...

I flashed the prebuilt Kernel from https://drive.google.com/open?id=0Bz...UJ2TlBTUW9ZR0k and made an image - according to post 421 on a micro-SD Card.

After booting, a 4k-Monitor turned black, on a FullHD monitor the nvidia-Boot-Logo remained on screen.

The system itself booted up however, it is reachable via network - also ssh is possible - but now i have no clue for the default login-account/passwords ...

The xenial-image from thread http://xdaforums.com/shield-tv/general/ubuntu-utopic-nvidia-shield-tv-t3150352

booted up in FullHD resolution with both monitors.

Do I have to patch something other besides post 421 ?

BR

dietgert
[Shield Android TV General] yahoo2016:
The first post mentioned replacing dtb with warning. L4T 24.2 needs dtb from L4T24.2 rootfs "/boot". dtb is different for SATV 16 GB and 500GB.

Flashing SATV 16 GB with wrong dtb will likely permanently brick it.

Flashing SATV Pro with wrong dtb will likely brick it but can be unbricked by removing SHDD and replacing dtb with the correct dtb.
[Shield Android TV General] CableBurner:
default pw and user is: ubuntu/ubuntu

Try a sudo apt-get update and sudo apt-get dist-upgrade over ssh.

Also had the problem with strange GUI behaviour, and i was solved with updating xorg etc..

Udo
[Shield Android TV General] dietgert:
ok

Ok, my fault, I did`nt replace the original android-dtb file.

Afterwards this is rather clear, on my other arm-devices the correct *.dtb-file (and it`s place) is specified via entry in the uBoot-loader.

But this machine has no uBoot.

Please give us a short explanation for the 5 different boot-images on page 1 - esp. whats the difference between boot_sda1.img and boot_sda32.img .

Thank You for your work.

dietgert

---------- Post added at 10:44 AM ---------- Previous post was at 10:31 AM ----------

Hello,

in my case it was the correct *dtb-file.

System then booted up from external sd-card with 1080p and then could be changed manually without problems to 4k.

But good to know, that You were able to fix this via ssh.

Next thing is bringing the system to the internal storage, the used sd-card is a fast one, but the speed still doesn`t satisfy me.

BR - und Grüße nach Bayern,

dietgert
[Shield Android TV General] yahoo2016:
The first post is updated with descriptions of the 5 boot images.

HDD of SATV Pro could be repartitioned to have rootfs on other partitions e.g., 33, 34, 35.
[Shield Android TV General] crnkoj:
Hey, thank you so much for your work here. I just installed the latest ubuntu L4T24.2 on a sdcard and used your kernel to boot the normal shield tv. It works really nice. I have one question, the video engine is not supported or? I mean 3d rendering works as far as i can tell, but the hardware decoders for 4k/video (as on latest android) dont or am i missing something?

edit: one more thing, i have the latest stock installed on the emmc, this seems to work even with the dtb for ubuntu, but i saw that it deletes the proper recovery kernel for ubuntu and replaces it with the stock recovery. got any idea where the script to do this is?

edit1: is it save to do apt-get update & upgrade and eventually dist-upgrade?

thanks