2016-03-13 18:11 GMT+03:00 Alexander Graf <[email protected]>: > > > 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. >
I found that bootz works when rootfstype=tmpfs (or no rootfstype, because it is default) and when rootfstype=ramfs there is also no any output. > 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? Yes, it seems that rootffstype=ramfs breaks the things! > > > Alex -- With best regards, Matwey V. Kornilov http://blog.matwey.name xmpp://[email protected] -- To unsubscribe, e-mail: [email protected] To contact the owner, e-mail: [email protected]
