@@ -4,8 +4,8 @@ Because Apple Silicon Processors (M1, M2, etc..) are arm64 based instead of x86,
44with getting a efficient FMS running for development. These steps should walk you through the requirements
55and steps to getting an environment ready for setup.
66
7- For this, you absolutely want to latest version of Windows 11. Windows 11 Update 24H2 instroducted a much
8- more efficient x86->arm64 translation layer which can make your windows VM quite speedy, even when the FMS
7+ For this, you absolutely want to use the latest version of Windows 11. Windows 11 Update 24H2 introducted a
8+ much more efficient x86->arm64 translation layer which can make your windows VM quite speedy, even when the FMS
99and SQL server are all running as x86 apps being translated live. You can attempt to install a x86 VM instead,
1010however in my experience this is so horrifically slow that Windows just times out on most common tasks before you
1111can even attempt to start the FMS.
@@ -63,6 +63,8 @@ First, we need to create the VM in UTM:
63639 . Name your VM on this step something memorable, like "FMS".
646410 . Hit "save" and your VM is created!
6565
66+ ![ UTM Windows Options] ( img/utm_windows_options.png )
67+
6668#### Install Windows itself
6769
6870Click the big "play" button UTM has put on the VM you just created. When the UTM bootloader shows up with text
@@ -79,8 +81,8 @@ account (I like to just call it "FMS" with "password") and call it a day.
7981
8082#### Install UTM tools (optional)
8183
82- Assuming you selected "Install UTM guest tools", likely windows will autostart the UTM tools installer once
83- you get into Windows . If not, check your E: drive and click the installer application within. The UTM guest
84+ Assuming you selected "Install UTM guest tools", likely Windows will autostart the UTM tools installer once
85+ you get into the OS . If not, check your E: drive and click the installer application within. The UTM guest
8486tools make things like copy and pasting and altering your screen resolution much easier.
8587
8688# 2. Install SQL Server
@@ -91,7 +93,7 @@ to interact with it, but that installer is broken on ARM64 installs. Instead, we
9193for ARM64 computers.
9294
9395Copy and paste the following link into Edge to download a special installer:
94- ` https://github.com/jimm98y/MSSQLEXPRESS-M1-Install/releases/download/v0.0.2/Sql2022ExpressARM64.exe `
96+ [ ` https://github.com/jimm98y/MSSQLEXPRESS-M1-Install/releases/download/v0.0.2/Sql2022ExpressARM64.exe ` ] ( https://github.com/jimm98y/MSSQLEXPRESS-M1-Install/releases/download/v0.0.2/Sql2022ExpressARM64.exe )
9597
9698Most browsers will throw a warning up saying that EXEs are dangerous. On edge, click the three dots, click "keep",
9799then "show more", then "keep anyway".
@@ -109,12 +111,17 @@ It'll end up launching the SQL server installer twice, with the first time inten
109111
110112# 3. Install FMS
111113
114+ > [ !TIP]
115+ > Since we're running FMS inside of a VM with a custom networking setup, you don't need to use a special
116+ > FMS offseason build for this development.
117+
112118Once you download your FMS installer EXE, unfortunately there's no obvious way to get it into your VM.
113119As mentioned earlier, the shared folder functionality (using the default SPICE share) doesn't work on packages
114120that big, and using the libvirt sharing always results in a blue screen for me.
115121
116122The easiest solution I've found is spinning up a quick Python HTTP server to transfer files. Create a folder
117- to share on your HTTP server (i'm using a folder in my Downloads folder called ` UTM Share ` )
123+ to share with your HTTP server (i'm using a folder in my Downloads folder called ` UTM Share ` ) on your macOS
124+ host. Then open a macOS terminal and use the following commands to start the file server:
118125
119126```
120127cd ~/Downloads/UTM\ Share
@@ -123,7 +130,8 @@ python3 -m http.server 8080
123130
124131Next, get your mac's private IP address through the system settings app or ` ifconfig ` . For example, mine
125132is ` 192.168.0.197 ` . Once you've started the python file server above, open Edge inside your VM and point
126- it to ` http://192.168.0.197:8080 ` , which should present the files in that folder.
133+ it to to your mac's IP and port 8080, like ` http://192.168.0.197:8080 ` , which should present the files
134+ in that folder.
127135
128136![ Python HTTP server download] ( img/python_download.png )
129137
@@ -141,13 +149,13 @@ After that, double click on the FMS icon on your desktop to start your test FMS
141149
142150In general it seems like the web serivce for the FMS doesn't start up the first time properly and FMS will
143151throw an error saying it can't be started. Just go to the "Services" app (just searching Services in the
144- start menu will get you there quickly), and find ` FMS.FielServer .Web ` . Right click and hit "Start".
152+ start menu will get you there quickly), and find ` FMS.FieldServer .Web ` . Right click and hit "Start".
145153
146154![ Starting the FMS web service] ( img/start_service.png )
147155
148156### Starting SQL Server after a Restart
149157
150- After you restart the VM, the SQL Server will not start back up on it's own. To start up the SQL Server
158+ After you restart the VM, the SQL Server will not start back up on its own. To start up the SQL Server
151159instance manually, open up the "SQL Server Configuration Manager", select "SQL Server Services" in the menubar
152160on the left. Then find "SQL Server (FRCSQLEXPRESS)", right click it and hit "Start".
153161
@@ -170,8 +178,8 @@ edit dialog, and then set the settings to something like this:
170178![ UTM networking settings] ( img/utm_networking.png )
171179
172180The DHCP range os 10.0.100.4-10.0.100.100 is intentional - the first address in the DHCP pool is used as the
173- gateway device, so your windows host will pick up the .5 address. The MAC address can be whatever - it does not
174- to match the one in the screenshot.
181+ gateway device, so your windows host will end up with the .5 address. The MAC address can be whatever - it
182+ does not need to match the one in the screenshot.
175183
176184You will also need to alter the Windows Firewall settings from their defaults to be able to access the web
177185server from the Mac host:
@@ -198,59 +206,4 @@ created an installer that works on Arm64.
198206
199207## Create a FTA Token
200208
201- After restarting, launch the SQL Server Management Studio. When opened, click "Skip and add accounts later" to
202- avoid signing in. The following instructions are done with the new connection dialog, so click Yes if prompted
203- to use the new connection dialog.
204-
205- Click "Browse" at the top of the connect dialog, then expand on the "Local" category. Select the one ending in
206- ` FRCSQLEXPRESS ` which should populate the options below, and then hit "Connect", making sure to select "Trust
207- Server Certificate".
208-
209- ![ Connection dialog in SSMS] ( img/ssms_connect.png )
210-
211- Next, click "New Query" in the toolbar and paste in the following SQL query to create a token, making sure
212- to replace "Your Username" with something for yourself.
213-
214- ``` sql
215- USE [FRC_Prod_2025_V1_System]
216- GO
217-
218- INSERT INTO [dbo].[FieldApiAuth]
219- ([AuthorizationKey]
220- ,[UserName]
221- ,[AppType]
222- ,[IsActive]
223- ,[Organization]
224- ,[ContactName]
225- ,[ContactEmail]
226- ,[CreatedOn]
227- ,[CreatedBy]
228- ,[ModifiedOn]
229- ,[ModifiedBy])
230- VALUES
231- (NEWID()
232- ,' Your Username'
233- ,' FTA'
234- ,1
235- ,' FTA Notepad'
236- ,' Field Technical Advisor'
237- 238- ,GETDATE()
239- ,' System'
240- ,GETDATE()
241- ,' System' )
242- GO
243- ```
244-
245- Then, hit "execute" in the toolbar to create your API User:
246-
247- ![ Creating a user via query in SSMS] ( img/ssms_query.png )
248-
249- Next, we'll need to get the contents of the table that we just added to. Find the "FieldApiAuth" table in the
250- sidebar, right click and click on "Select".
251-
252- ![ Getting to the SSMS query] ( img/ssms_select.png )
253-
254- That will then result your Authorization Key and User Name to use within the application:
255-
256- ![ Getting to the SSMS query] ( img/ssms_select_result.png )
209+ Follow the instructions in [ Creating a FTA Token] ( ./Creating_FTA_Token.md ) .
0 commit comments