![]() |
|
Leak ARM development virtual machine (32-bit) - Printable Version +- Sinisterly (https://sinister.ly) +-- Forum: Coding (https://sinister.ly/Forum-Coding) +--- Forum: Coding (https://sinister.ly/Forum-Coding--71) +--- Thread: Leak ARM development virtual machine (32-bit) (/Thread-Leak-ARM-development-virtual-machine-32-bit) |
ARM development virtual machine (32-bit) - phyrrus9 - 03-22-2018 So, I recently made an AArch64 development machine and posted it for you all to tinker with, but I realized for the ARM tutorials I need a 32-bit one (since 32 and 64-bit operate entirely differently). So, here it is. This one comes with another sample project, a native toolchain, gef, etc already installed, and vim syntax highlighting specific to ARM. download it here @"Ender" write me optimized programs RE: ARM development virtual machine (32-bit) - phyrrus9 - 04-04-2018 Note to all: I'm doing a lot of updates to this VM to get more people interested in it. Here are my planned changes so far 1. A configurable startup script Previously, if you wanted to run this virtual machine, you needed a computer with the extra resources (namely 6GB+ of memory), and the VM itself didn't really support a lot of features. I've added the following options to the startup script. They will come with the default values I've listed here: CORES=2 (the number of actual CPU cores, limit 4) RAM=2048 (amount of RAM the system should have in megabytes) SSH=5555 (the port that will be tunneled to you for SSH connections) KERNEL=./kernel (the kernel image to boot to. NOTE: this must be outside of the VM) RAMDISK=./ramdisk.img (the ramdisk image to load. Again, outside of the VM) DISK=./hda.qcow2 (the hard drive that holds the VM. You probably won't need to modify this, but it's good if you're making full disk backups) You can modify these either in the script itself for a permanent result, or at runtime. Here's an example: Code: ./start.sh # run the VM with default parameters
CORES=4 ./start.sh # run it as quad core
CORES=4 RAM=4096 SSH=22 # run it quad core, 4GB ram, and make it accept connections over default SSH port (allowing you to use a remote machine by just regularly ssh'ing to your pc as normal)2. Installing X.Org I'll be installing X11 and fluxbox as a window manager. This is to get the attention of some of our beginner users. In doing this, I'll also be adding two users: dev - regular development account, password dev gui - developer account that autostarts a GUI when you log in, password gui I will also turn on X11 forwarding, and write a script that sets it up and connects for you. This script will be called ./sshgui.sh and it will log in to the dev account. If you just run the script straight, it will connect to localhost on the default port (5555). To set a different port or a different IP, you will have to specify those as variables Code: HOST=192.168.1.5 PORT=1234 ./sshgui.sh # start the forwarded gui by connecting to 192.168.1.5 on port 12343. An IDE(s) for assembly code, and other apps I found a nice little tool that you might like as well, called SASM, and I'll be including it in this version as well. This tool only works from an X11 session, so you will either need to be logged in using the gui account, or be using the SSH forwarding to use it. It's basically just a text editor with highlighting for assembly, and allows you to build right from there. Also included will be sublime text, and other various editors and gui helpers. Since I'm including a GUI, I'll also include a web browser (iceweasel) and a file manager (thunar). 4. New kernel! So, this VM is built on linux 3.15, which is terribly old and in need of an update. Unfortunately there isn't an update, since Debian apparently hates ARM users, so I'm building a custom one. It's been building for 19 hours so far, so I hope to have that built here in the next few hours. This one is based on Linux-4.16 with some modifications to optimize it for our ARM system and give better performance. I won't be including the older kernel with this release, since it's likely that the VM will now be over 1GB as a download. I want to keep this thing within DVD size. Please let me know if there's anything you want me to include anything. If more people start to use this, I may just put up a repository and add it to the VM's sources list so that I can push updates to you without you having to redownload the whole VM. RE: ARM development virtual machine (32-bit) - Blink - 04-04-2018 (04-04-2018, 03:57 AM)phyrrus9 Wrote: 2. Installing X.Org What if you lose the attention of the others? ![]() Also Wayland is nice. Also ncurses + framebuffer is great. RE: ARM development virtual machine (32-bit) - phyrrus9 - 04-04-2018 (04-04-2018, 04:00 AM)Ender Wrote:(04-04-2018, 03:57 AM)phyrrus9 Wrote: 2. Installing X.Org You can use whatever you want. X11 is easy since I don't need to compile it myself. Remember that there are almost no packages made for this arch. RE: ARM development virtual machine (32-bit) - Blink - 04-05-2018 (04-04-2018, 04:05 AM)phyrrus9 Wrote:(04-04-2018, 04:00 AM)Ender Wrote:(04-04-2018, 03:57 AM)phyrrus9 Wrote: 2. Installing X.Org Alright, I'm making an ncurses-based WM right now, it's being called 'LeWM' (pronounced 'loom'). Not X11-based, but psudo-graphical. Ideally you can use graphics via a framebuffer interface that restricts you to your window size. |