On 13.03.16 16:05, Matwey V. Kornilov wrote: > 2016-03-13 18:03 GMT+03:00 Matwey V. Kornilov <[email protected]>: >> 2016-03-13 16:44 GMT+03:00 Alexander Graf <[email protected]>: >>> >>> >>> On 13.03.16 14:39, Matwey V. Kornilov wrote: >>>> 2016-03-13 16:21 GMT+03:00 Alexander Graf <[email protected]>: >>>>> >>>>> >>>>> On 13.03.16 14:13, Matwey V. Kornilov wrote: >>>>>> 2016-03-13 15:09 GMT+03:00 Alexander Graf <[email protected]>: >>>>>>> >>>>>>> >>>>>>> On 13.03.16 12:30, Alexander Graf wrote: >>>>>>>> >>>>>>>> >>>>>>>>> Am 13.03.2016 um 11:56 schrieb Matwey V. Kornilov >>>>>>>>> <[email protected]>: >>>>>>>>> >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> I am trying to boot on Phytec Wega board (TI AM33xx based) with >>>>>>>>> u-boot+EFI+grub2 and just see >>>>>>>>> >>>>>>>>> Booting `openSUSE-Tumbleweed-ARM-JeOS-wega [ VMX ]' >>>>>>>>> >>>>>>>>> Loading linux.vmx... >>>>>>>>> Loading initrd.vmx... >>>>>>>>> >>>>>>>>> and then board is rebooted after some time (I think, by watchdog). >>>>>>>>> I am sure that kernel console parameter is correct. >>>>>>>>> >>>>>>>>> Before EFI was introduced to u-boot, I had booted this board >>>>>>>>> successfully. Is there a simple way to somehow understand what is >>>>>>>>> going >>>>>>>>> wrong here? >>>>>>>> >>>>>>>> My guess is that the device tree doesn't get loaded. Do you see a >>>>>>>> warning about it on serial? Try to add a line in grub2 to manually >>>>>>>> select the device tree: >>>>>>>> >>>>>>>> Press e (edit current entry) >>>>>>>> at the end, add a new line saying "devicetree /boot/dtb/foo.dtb" >>>>>>>> Press ctrl-x (or f10) to boot >>>>>>>> >>>>>>>> If that makes it work, the default U-Boot environment does not set the >>>>>>>> "fdtfile" variable. Add it to the env (in your board header) and you >>>>>>>> should be set :). >>>>>>> >>>>>>> If that still doesn't help, try to add an earlycon parameter to the >>>>>>> kernel command line. If that still doesn't show you anything at all, you >>>>>>> can grab the kernel log_buf using md.b from the u-boot command line >>>>>>> after reset, but let's see whether you get to the kernel log / fix the >>>>>>> issue without that first :). >>>>>> >>>>>> in System.map I found the following: >>>>>> >>>>>> c12bfc30 b __log_buf >>>>>> >>>>>> I am not sure how to properly map this address when I know that kernel >>>>>> is loaded at 0x80008000 >>>>> >>>>> That means that the address should be >>>>> >>>>> 0x812bfc30 >>>>> >>>>> Try to md.b from there after reset and you should spot the kernel output >>>>> log. >>>> >>>> When I attach panic=-1 to kernel, the pause is about 15 seconds >>>> (instead of 60 earlier), so I think that this parameter is taken into >>>> account. >>>> However, in any case the buffer log_buf is filled with zeroes >>>> according to md.b. Maybe u-boot resets the memory on start? >>> >>> It usually doesn't. To limit the problem scope, please also make sure >>> you don't load the initrd. >>> >> >> That works, but it ends up with not found init. >> >> [ 1.700159] devtmpfs: error mounting -2 >> [ 1.706736] Freeing unused kernel memory: 1320K (c1034000 - c117e000) >> [ 1.713459] Kernel panic - not syncing: No working init found. Try >> passing init= option to kernel. See Linux Documentation/init.txt for >> guidance. >> [ 1.726667] CPU: 0 PID: 1 Comm: swapper/0 Not tainted >> 4.5.0-rc7-1.g924f2b7-default #1 >> [ 1.734535] Hardware name: Generic AM33XX (Flattened Device Tree) >> [ 1.740722] [<c0227b90>] (unwind_backtrace) from [<c0220c50>] >> (show_stack+0x20/0x28) >> [ 1.748530] [<c0220c50>] (show_stack) from [<c0586f3c>] >> (dump_stack+0x98/0xac) >> [ 1.755816] [<c0586f3c>] (dump_stack) from [<c037f440>] (panic+0xec/0x270) >> [ 1.762745] [<c037f440>] (panic) from [<c0b20a90>] >> (__irq_alloc_descs+0x0/0x1d8) >> [ 1.770205] Rebooting in 90 seconds.. >> >> However, md.b 0x812bfc30 shows zeroes. It would be great to learn how >> to properly use it. >> >>> If you load the kernel and fdt to the same addresses that grub put them, >>> set bootargs to the cmdline in grub and do bootz, does the kernel come up? >> >> It says the following: >> http://paste.opensuse.org/32160189 >> >> But seems, bootz relocates initrd and fdt. >> > > Now it is clean, that it is run out of free RAM probably: > > [ 0.637547] Unpacking initramfs... > [ 3.655300] Initramfs unpacking failed: write error > [ 3.740465] Freeing initrd memory: 46032K (cc251000 - cef45000) > > But the question, why output doesn't work with grub.
With grub you're using the advanced command line that sets rootfsflags=size=100%, so it can theoretically occupy too much ram. With grub, try and remove all command line arguments except for console= (like you have it in pastebin). Does that get you to the same boot log? Alex -- To unsubscribe, e-mail: [email protected] To contact the owner, e-mail: [email protected]
