Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    • Menu
    Projects Groups Snippets
  • Sign up now
  • Login
  • Sign in / Register
  • pmaports pmaports
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Service Desk
    • Milestones
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Joey Hewitt
  • pmaportspmaports
  • Issues
  • #1
Closed
Open
Created Aug 26, 2019 by Joey Hewitt@scintillOwner

ipad1g

https://gitlab.com/scintill/pmaports/tree/device/ipad1
https://github.com/scintill/linux/tree/ipad1

Current state

  • Boots to userland with UART output (input may be broken) and framebuffer console.
  • Todo
    • See https://github.com/scintill/iDroid-kernel for older implementations.
    • Implement USB (See https://github.com/scintill/iDroid-kernel/commit/2b1c269f5363911903b5cf7484d6ece0a7c51712).
    • Touchscreen, wifi?
    • Refine booting? There are some hacks in openiboot, to load the kernel below 128MB and give it a fixed framebuffer address. It might be nice to move the dts file into openiboot, and patch it at runtime with the dynamic framebuffer address. Eventually move to u-boot? There are some repositories with A4 support.
    • Resolve UART flakiness? I'd rather use USB, if the implementation goes easily.

Booting

  • Install syringe package in chroot
  • Enter DFU mode (hold power and home with USB connected to computer)
  • loadibec openiboot-ipad1g.bin
  • Script for automating oibc for booting (I've been running it on host, but there's a package) *
#!/usr/bin/expect
spawn oibc

send "!/path/to/vmlinuz\r"
sleep 0.1
send "\r"
expect "Received file"
send "kernel \"console=tty0 PMOS_NO_OUTPUT_REDIRECT\"\r"
expect "Done: kernel"

send "!/path/to/initramfs\r"
sleep 0.1
send "\r"
expect "Received file"
send "initrd\r"
expect "Done: initrd"
send "wait_boot 15000\r"
expect "Done: boot"
  • Set console=ttySAC0 for UART console instead of framebuffer
  • earlycon=s3c2410,0x82500000 and keep_bootcon may be useful too.

Technical notes

Devicetree is used for most configuration. simple-framebuffer is configured to use the framebuffer set up by openiboot.

Edited Aug 26, 2019 by Joey Hewitt
Assignee
Assign to
Time tracking