Skip to content

Latest commit

 

History

History
90 lines (68 loc) · 4.55 KB

NOTES.org

File metadata and controls

90 lines (68 loc) · 4.55 KB

Notes

Here are some notes to keep in mind future generations.

Qemu

Well this was non-trivial but I think it should work. You need to get the xilinx edition of qemu or hardware will not be supprted properly. (the directories are off in the following)

git clone https://github.com/Xilinx/qemu
git checkout xilinx-master
./configure --target-list="arm-softmmu,microblazeel-softmmu" --enable-fdt --disable-kvm
make
./qemu-xilinx/arm-softmmu/qemu-system-arm -M xilinx-zynq-a9 -m 1024 -serial null -serial mon:stdio -dtb resources.qemu/qemu.dtb -kernel resources.qemu/zImage -initrd resources.qemu/ramdisk.img -nographic

Pay close attention to the last line.

Now you probably want gdb right? Well here goes:

# gdb setup here

You also want to see some host files from qemu so you may load modules and stuff.

ThinkLCDML

Building thinklcdml is a bit weird. I know I should mount and everything but here is my workflow:

Compile thinklcdml with make Then put the module in ramdisk:

cp ~/Projects/ThinkLCDML/thinklcdml.ko /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/fs/lib/modules/3.6.0-xilinx/thinklcdml.ko &&
 date >> /homes/cperivol/Sandbox/xilinx-zynq-bootstrap/fs/last_touch && rm resources/uramdisk.img.gz &&
 ./bootstrap.sh --only ramdisk && cp resources/ramdisk.img resources.qemu/ramdisk.img

Mem allocation

Looks like fb_memsize is 0 when it should have been something else.

modprobe thinklcdml fb_memsize=1920000

Roadmap

All android components

Here is what we will need:

DONEFilename as downloadedFilename on SD cardDescriptionVendor
BOOT_FMC.BIN & BOOT_HDMI.BINBOOT.BINCreated using the EDK bootgen tool - contains the FSBL (First Stage Boot Loader), the FPGA bit-stream, and the U-Boot bootloaderXylon
xzImagezImageThe Linux kerneliVeia
xdevicetree_fmc.dtb & devicetree_hdmi.dtbdevicetree.dtbThe Device Tree BlobiVeia
kindaramdisk8M.image.gzramdisk8M.image.gzThe Linux ramdisk, modified from the Xilinx’s ZC702 release to run startup.sh on bootXylon (with modifications by iVeia)
kindastartup.shstartup.shA script run at the end of boot (used to start Android)iVeia
xroot.imgroot.imgThe Android Root FilesystemiVeia

Check the android xilinx wiki for more details

Booting binary

DirectFB

I already have directfb compiling for arm with our very own hardware.

Tsi Drivers

Thinklcdml

Integrated.

Think2d

Compiles fine with the new kernel. I will need to test it with dfb.

Directfb

Weird ioctl

Directfb throws some weird ioctls that my driver cannot handle, I will need to investigate that.

Loading of drivers

Drivers are loaded in a quite dumb (static) way. Override that one and make a new one. The real problem with this is that for every change on a driver one has to load it to the sd card. what we need here is to move all logic from the sd card to nfs. rcS should do the bare basics as it does and then give control to a script on nfs (not another script on the sd)