-
Notifications
You must be signed in to change notification settings - Fork 216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flash nvidia jetson tx1 #12
Comments
I don't how we build all recipes in a .tar. |
The recipes in the layer download the needed binary and source packages. You don't need to install JetPack or L4T on your build host in advance. For getting it onto the Jetson TX1 development kit, there are two approaches. The first is to put the built rootfs image on an SDcard. This is pretty simple, and the Jetson will automatically boot from the SDcard if it's inserted in the slot on the board. It also lets you keep the stock Ubuntu image on the on-board eMMC so you can easily switch back to that when needed. The second approach is to flash the built rootfs onto the eMMC. To do that, you set IMAGE_FSTYPE to "tegraflash" in your image recipe, then follow the instructions on this wiki page. As for which image recipe to choose, it's up to you. core-image-minimal is a good choice to begin with, but core-image-sato should build and boot as well. |
I'm not exactly sure what you're asking here. If you're referring to a tarball that contains sources for multiple packages, there is no fixed answer. In the meta-tegra recipes, I've taken a couple of different approaches for this, since NVIDIA does this sort of bundling with L4T. |
Thank you very much! But I've a point that I don't understand. |
So if I choose core-image-sato, I set IMAGE_FSTYPE to "tegraflash" in core-image-sato ? |
In that recipe, or through a .bbappend for that recipe, yes. If you're not sure what an image recipe is, you might want to familiarize yourself with the Yocto Project documentation before getting too deep into this. |
Thank you, so to recap in core-image-sato.bb there is : `DESCRIPTION = "Image with Sato, a mobile environment and visual style for IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear hwcodecs" LICENSE = "MIT" inherit core-image IMAGE_INSTALL += "packagegroup-core-x11-sato-games" IMAGE_FSTYPE = "tegraflash"` |
Yes, that should do it. |
Once I've build with "bitbake core-image-sato", I've untar "core-image-sato-jetson-tx1.tar.gz" located in "build/tmp/deploy/images/jetson-tx1" but I don't find "doflash.sh". Then I've also untar build/tmp/deploy/images/jetson-tx1/core-image-sato-jetson-tx1-20161003065740.rootfs.tar.gz but there is the same files. Thank you. |
Assuming you're building off master, there should also be a |
Except I just noticed a typo in your prior message that I missed earlier. The variable to set in the image recipe is IMAGE_FSTYPES, not IMAGE_FSTYPE. |
Oh yes! And now when I building I've 5 errors because of IMAGE_FSTYPES |
Ah, right, oops... I haven't yet added this to the machine configuration, so please try adding the following line to the image recipe as well: |
I've added IMAGE_CLASSES += "image_types_tegra" after IMAGE_FSTYPES = "tegraflash" but I've still the same errors.. |
Can you try either moving that line to above the |
When I move above the inherit core-image, I've now this errors : I put just IMAGE_CLASSES += "image_types_tegra" in local.conf or IMAGE_CLASSES and IMAGE_FSTYPES ? |
I've updated your layer, and it's good, I haven't error. I will see tomorrow if I've good files ! |
Now when the building is finished I have new error : ERROR: core-image-sato-1.0-r0 do_image_tegraflash: Function failed: do_image_tegraflash (log file is located at /home/GuzMp/poky/build_jetson/tmp/work/jetson_tx1-poky-linux/core-image-sato/1.0-r0/temp/log.do_image_tegraflash.13083) Summary: 1 task failed: |
It looks from the error message like you might be mixing poky's krogoth branch with meta-tegra's master branch. meta-tegra's branch names correspond with poky's (or oe-core's), and mixing them will likely result in errors. If you are looking to build an image using the L4T R24.2 content, and you're using poky krogoth, use the krogoth-l4t-r24.2 branch in meta-tegra instead. |
Sorry but I don't understand your last line, I don't know how to do this. |
What is krogoth-l4t-r24.2 branch ? |
It is a branch in this git repository. |
It's possible to explain more what I have to do please.. |
I don't find the krogoth-l4t-r24.2 branch |
I don't touch DISTRO ?= "poky" in build_jetson/conf/local.conf ? |
I've finish the build without error, I've put IMAGE_CLASSES += "image_types_tegra" and IMAGE_FSTYPES = "tegraflash" at the end of build/conf/local.conf. I should not have others files ? |
Glad you got the build to finish. I don't see |
As far as your questions about branching go... how did you create your build workspace? Did you not use a |
I explain step by step what I do in command-line : git clone -b krogoth git://git.yoctoproject.org/poky.git Then I add meta-tegra in bblayers.conf And put at the end Then I build Once the building finished, I go unzip core-image-sato-jetson-tx1.tegraflash.zip And I've just the files that I've put above. I've missed a step ? |
I see u-boot-jetson-tx1.bin it's not in core-image-sato-jetson-tx1.tegraflash.zip core-image-sato-jetson-tx1-20161006094916.rootfs.ext3 And in the directory image_jetson there is core-image-sato-jetson-tx1.tegraflash.zip unzip |
The So to fix this:
Then re-run your build. |
The |
Ah yes thank you, I understand better now ! And when the build is completed, I have to add tegraflash.py in the directory and execute in command-line "sudo ./doflash.sh" or "sudo ./doflash.sh jetson-tx1 mmcblk0p1" ? (with jetson-tx1 in recovery mode) |
Unfortunately, tegraflash.py needs other files and programs, so you can't just copy that into the directory. This should work:
|
Oh.. I've re-run after do this : And return another error : Summary: 1 task failed: |
Try |
No because I removed and built a new. |
@madisongh do you need to do anything after ./doflash.sh? I'm getting this at the end of my dmesg
so Ethernet won't come up. |
Do you see that firmware under /lib/firmware in your rootfs? It should be getting pulled in as part of the tegra-firmware package. If it's there, then either the kernel firmware loader should find it, or the udev firmware helper should. |
yep, it's in /lib/firmware. From what I've read https://devtalk.nvidia.com/default/topic/968645/jetson-tx1/24-2-fails-to-initialise-usb/2 it seems that the kernel is trying to load the firmware before the filesystem that has /lib/firmware is mounted. I see in the dmesg a bunch of USB stuff happening around 2.7 and then the filesystem mount around 6.8. But, I also read here https://devtalk.nvidia.com/default/topic/928383/tegra21x_xusb_firmware-failing-to-load-/ about some udev versions not being compatible. One thing I did notice was that the line
in flash.xml was missing the .bin. Would this be related at all? Does just doing ./doflash.sh do everything I need? |
The missing suffix in flash.xml wouldn't cause this, but I'll look into it, since it should be there. You're right about some udev versions not being compatible, though - I remember before I had switched over to using systemd that I had to patch back in the firmware helper support into the version of eudev that was in oe-core at the time, since it had been removed as no longer necessary. systemd's udev still supports it, so it hasn't bothered me for a while (which is why I hadn't remembered initially). |
i'm not sure if this is another clue or not, but sato just throws a splash screen and then goes to a black screen/prompt and doesn't do anything else after that. I've only been able to get images such as my own image extending core-image-minimal to get me to a prompt. |
@madisongh so this worked https://devtalk.nvidia.com/default/topic/787495/jetson-tk1/-solved-l4t-21-1-enable-usb-3-0-/2 I noticed that the default value for CONFIG_EXTRA_FIRMWARE had a bunch of NVIDIA firmware files for some sort of Android tablet. Do you think this is an acceptable solution to just build this firmware file into the kernel? |
I've seen that approach mentioned on the linux-tegra mailing list for the upstream kernel, too. It would certainly help, especially for booting from a USB rootfs. The approach NV took with L4T was to use an initrd. That's viable, too, I guess, although I'd like to give folks the option of using whichever mechanism works best for their particular application, and not carry the extra baggage of either the firmware-in-kernel or building an initrd if they don't actually need it. |
Madisongh now when I build there is new error : |
I'll fix that shortly. For now, add
to your local.conf file. |
I saw that once in my testing this morning; restarting the X server |
OK, I was able to reproduce the screen blanking issue, and it, too was related to firmware not being loaded - the X server was hanging and couldn't be restarted, then eventually I saw a kernel message mentioning that the fecs firmware could not be found. |
Once jetson-tx1 flashed, then I start and at the end : |
Then I click "enter" and ask login so I enter "root" and once logged, there are no directory or files. It's' normal ? |
I'm not sure if those messages from udevd are actual errors (the firmware may still be getting found in its actual location), but if you could As for the X server errors - do you have a monitor connected to the HDMI port, one that worked with the NVIDIA Ubuntu distro? I get that error if the X server starts but my monitor is disconnected or powered off.
From just an |
I don't use HDMI port, I using serial port |
No problem, then. You can ignore the X server errors (and those firmware errors, too). |
Thank you, it works! git clone -b krogoth git://git.yoctoproject.org/poky.git git clone https://github.com/madisongh/meta-tegra . oe-init-build-env build_jetson Then you add meta-tegra in bblayers.conf Then you build Once the building finished, you unzip core-image-sato-jetson-tx1.tegraflash.zip Then you have to add the following directory in order to add tools flash: Once flash finished, you can control your jetson-tx1 with Serial Port in opening a screen : |
Great to hear, and thanks for the summary. I'll close this out now. |
Hi i'm new in this project, so i don't understand all..
First, before to put our yocto layer, we must to download Jetson TX1 64-bit Driver Package or all is integrated in this meta-tegra ?
Second, how we put this in the nvidia jetson tx1 ?
And third, how we choice our target for the bitbake (core-image-minimal, core-image-sato, ...) ?
Thank you for your attention.
The text was updated successfully, but these errors were encountered: