News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Headless install?

Started by rockso, May 01, 2024, 02:18:35 AM

Previous topic - Next topic

rockso

I am trying to install masm32 in an automated and headless fashion. Specifically, I am trying to setup a Windows Docker container that contains masm32 to build asm tools. Is this possible with the masm32 installer? Or can I assume if I install masm32 on my Windows 10 system that I can safely zip up the installation folder and drop it into a Docker container?

Thanks!

zedd151

Once you have Masm32 installed on any drive, you can copy it to any other drive including USB drives. Does this help answer your question? I have no clue what headless or docker mean.

Greenhorn

Kole Feut un Nordenwind gift en krusen Büdel un en lütten Pint.

NoCforMe

QuoteA container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.

Container images become containers at runtime and in the case of Docker containers – images become containers when they run on Docker Engine. Available for both Linux and Windows-based applications, containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.

Clear as mud. Care to explain this in non-market-ese? What does this stuff actually do?
Assembly language programming should be fun. That's why I do it.

Greenhorn

Quote from: NoCforMe on May 01, 2024, 04:14:04 AMClear as mud. Care to explain this in non-market-ese? What does this stuff actually do?

What's unclear? It's similar to Application Virtualization. Same, same but different.

How is Docker different from a virtual machine?
Kole Feut un Nordenwind gift en krusen Büdel un en lütten Pint.

zedd151

#5
Seems like some kind of virtualization or virtual machine. I would think that anything ran in it would run slower.
In either case I could live the rest of my life, without ever using it.

NoCforMe

Well, yes, it seems to be some kind of virtual machine. Except that one comment in the thread that Fearless linked says
QuoteDocker isn't a virtual machine - it is a configuration management tool.

But in any case, I still have no idea what this is all really about. All the descriptions I read about this are written in jargon-ese and don't explain anything unless one already understands the concept.

So can someone explain in plain English what this is? and why I'd want to use it?

Assembly language programming should be fun. That's why I do it.

jj2007

The Masm32 SDK installation is indeed a bit clumsy. It builds 158kB of \Masm32\m32lib\masm32.lib from 550kB of sources (in the same folder). MasmBasic is easier to install, but first, it builds on the SDK and second, Windows will still show you some misleading dialogs trying to discourage you from installing a non-Micros*t product :cool:

The good news is you have to go only once through the Masm32 SDK installation :bgrin:

Still, it is not quite clear what you want:
a) a simplified, dialogless installation of the SDK (which does contain all necessary tools);
b) a kind of VM or sandbox from where to build Masm projects?

fearless

Fasm has a docker container: https://github.com/guitmz/fasm-docker

Which you can use for CI/CD


QuoteCI/CD is the combined practices of continuous integration and continuous delivery or, less often, continuous deployment.

Imagine a github repo that can automatically build and package your releases every time you commit to it and then you will understand that a docker container can be useful for launching on a machine with all the appropriate Compilers, Tools and SDKs (Visual Studio, Win10 SDK for example but could be any development environment on any OS that the container is based on) installed and ready to deploy, along with custom scripts to automate the process and build the project and then report if the build was successful or failed for some reason.

Could be useful to have a UASM, WinInc and Visual Studio in a container to automate builds for projects.

jj2007

Quote from: fearless on May 01, 2024, 06:24:51 AMa docker container can be useful for launching on a machine with all the appropriate Compilers, Tools and SDKs

So what is the difference to a self-extracting zip archive that "contains all the appropriate Compilers, Tools and SDKs"?

Vortex

#10
Hi rockso,

The Masm32 installation is portable. You don't need a Windows Docker container. Maybe, you could try a free tool like Sandboxie to test the Masm32 package which does not modify the registry during installation :

https://sandboxie-plus.com/downloads/

fearless

QuoteSo what is the difference to a self-extracting zip archive that "contains all the appropriate Compilers, Tools and SDKs"?

Thats the point really. For CI/CD typically the docker text config file (yaml i believe) has the instructions of what is required, deploys the OS it is to use in a VM (which can be small linux distros like linux alpine or others), downloads any dependencies and installs them, then runs any of your config/test/build scripts required. Outputs can be pushed to github repos or other online servers ready for downloads if it passes tests. The VM can be shut down and deleted after it has completed.

From that point of view its an on-demand automatic way of testing and/or building and/or deploying remotely. It can be configured to run when a commit is pushed to github for example (using actions)

If your only coding locally and uploading somewhere infrequently and not using some version control like github/gitlab/bitbucket etc then it probably isnt needed, unless you wanted to run some automated tests and builds locally of course.





jj2007

Quote from: fearless on May 01, 2024, 07:03:44 AMdeploys the OS it is to use in a VM (which can be small linux distros like linux alpine or others)

The whole Masm32 SDK is around 12MB or so. What you describe sounds like gigabytes. That is an overkill IMO.

Vortex

#13
Hi Jochen,

Alpine Linux is not that bad. The 64-bit version of the installation file weights 211 Mb :

https://alpinelinux.org/downloads/

https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/aarch64/alpine-standard-3.19.1-aarch64.iso

QuoteSMALL
Alpine Linux is built around musl libc and busybox. This makes it small and very resource efficient. A container requires no more than 8 MB and a minimal installation to disk requires around 130 MB of storage. Not only do you get a fully-fledged Linux environment but a large selection of packages from the repository.

https://alpinelinux.org/about/

jj2007

Hi Erol,

Yes, that's not bloatware. However, I doubt that you can do Windows programming on Linux Alpine. And there is talk about adding Visual Studio...

Quote from: fearless on May 01, 2024, 06:24:51 AMwith all the appropriate Compilers, Tools and SDKs (Visual Studio, Win10 SDK for example