darwin-on-arm / genericbooter-old Goto Github PK
View Code? Open in Web Editor NEWSample ARM booter for Darwin (obsolete)
Sample ARM booter for Darwin (obsolete)
I built a kernel at rev 4720e5ed3c83c20c7da88659959b10ffea0b0aa4,
and extracted ramdisk from the uImage posted at the reddit post
(http://www.reddit.com/r/jailbreak/comments/1q04wa/bootable_armxnu_kernel_with_sample_root_filesystem/).
The qemu command line I used is: qemu-system-arm -serial stdio -M realview-pb-a8 -m 512 -kernel SampleBooter.elf.uImage -append 'rd=md0 debug=0x16e serial=3 -v -s'
It outputs the following and then hangs:
debug_init()
=======================================
::
:: GenericBooter for ARM RealView, Copyright 2013, winocm.
::
:: BUILD_TAG: GenericBooter-100.1
::
:: BUILD_STYLE: DEVELOPMENT
::
:: COMPILE_DATE: Dec 4 2014 02:53:17
::
=======================================
preparing system...
image3_get_tag_data: data at 0x80008070 of size 0x00843000 for image type 'krnl'
Loading kernel at 0x70001000
image3_get_tag_data: data at 0x8184b0d0 of size 0x00000a5b for image type 'xmdt'
image3_get_tag_data: data at 0x8084b0a0 of size 0x01000000 for image type 'rdsk'
creating ramdisk at 0x7084e000 of size 0x1000000, from image at 0x8084b0a0
creating device tree at 0x7184e000 of size 0x9f8
gBootArgs.commandLine = [rd=md0 debug=0x16e serial=3 -v -s]
kernel prepped at 0x70101350, transferring control out of booter now!
I've managed to extract the bootloader used in the aforementioned reddit post, and it could boot the kernel just fine (although bootstrap server of launchd still crashes and I still couldn't figure out how to execute any command from the "stuipidshell" prompt). The first few lines of qemu serial output are:
PE_RealView: pic at 0xc0002000, distribution at 0xc0003000
cache: initializing i+dcache ... done
Serial mode specified: 00000003
CPU: Cortex A8-r0 rev 0 (Cortex-A core)
Supported features: ARM_ISA THUMB2 THUMBEE ARMv4 Security_Ext
WB enabled LABT branch prediction enabled
LoUU:2 LoC:2 LoUIS:1
Cache level 1:
16KB/64B 4-way data cache WT WB Read-Alloc
16KB/64B 4-way instruction cache Read-Alloc
Darwin Kernel Version 13.0.0: Sat Nov 29 01:15:48 EST 2014; minux:xnu/BUILD/obj//DEBUG_ARM_ARMPBA8
pmap_steal_memory: C0307000 - C0309000; size=00002000
pmap_steal_memory: C0309000 - C030A000; size=00001000
pmap_steal_memory: C030A000 - C0310000; size=00006000
pmap_steal_memory: C0310000 - C0390000; size=00080000
pmap_steal_memory: C0390000 - C03E0000; size=00050000
pmap_steal_memory: C03E0000 - C08FE550; size=0051E550
// snip
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.