On Mon, Oct 07, 2019 at 11:10:24AM +0200, Krzysztof Kozlowski wrote:
> On Sat, Oct 05, 2019 at 05:47:43PM +0200, Philippe Mathieu-Daudé wrote:
> > Hi all,
> >
> > Yesterday Peter Maydell asked on IRC if I had any working Exynos4
> > image. I looked at some old backuped notes and could boot Guenter
> > initrd with BusyBox.
> > I'll use this cover letter to share my notes, they might help to
> > have this board fully usable again.
> >
> > This board is listed as "Odd Fixes". Since we have it covered, I
> > thought it was worthwhile to have it covered by tests to avoid
> > more regressions.
> >
> > Frédéric Basse used this board last year:
> > https://fredericb.info/2018/03/emulating-exynos-4210-bootrom-in-qemu.html
> >
> > I'll have a look a these particular commits he added:
> >
> > - https://github.com/frederic/qemu-exynos-bootrom/commit/9be5c9f2253dbc04ee
> >
> > sd: add sd clock support to SDHC_CLKCON
> >
> > - https://github.com/frederic/qemu-exynos-bootrom/commit/6f045949ee2fdec624
> >
> > sd: always reply to ACMD41 (SD_APP_OP_COND)
> >
> > Guenter also carries on this patch:
> >
> > - https://github.com/groeck/qemu/commit/0a80543cc910d
> >
> > hw/timer/exynos4210_mct: Initialize timer before starting it
> >
> > When booting a recent Linux kernel, the qemu message "Timer with period
> > zero, disabling" is seen, apparently because a timer is started before
> > being initialized. Fix the problem by initializing the offending timer
> > before starting it.
> >
> > It might also be interesting to use Krzysztof's initramfs image:
> > https://github.com/krzk/tools/blob/master/run-qemu.sh#L29
>
> I haven't been working on QEMU since 2 years but I can try to find that
> initramfs image.
>
> The recent initramfs I create, is for testing kernel under my Buildbot.
> I take standard initramfs from Arch ARM and then I add some more stuff:
> Source/instruction is here:
> https://github.com/krzk/tools/tree/master/buildbot/initramfs
> and the script making it for each boot is here:
> https://github.com/krzk/tools/blob/master/buildbot/build-slave-deploy.sh#L50
> https://github.com/krzk/tools/blob/master/pi/make-initramfs.sh
>
I checked my initramfs. I created it simply from a running Arch ARM
instance with `fakeroot mkinitcpio -g file.cpio.gz`
You could automatize the process by:
1. Downloading and extracting
http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-latest.tar.gz,
2. Running mkinitcpio or creating initramfs manually (e.g. my script
above).
Best regards,
Krzysztof