Print Price: $74.95
|
By Sean D. Liming and John R. Malin
Windows®
10 IoT Enterprise is a special version of Windows 10
designed for OEMs to build IoT/Embedded Systems. To help
to create custom images, the Windows® System Image Manager
(SIM) tool allows PC Manufacturers, IT Managers, and
IoT/Embedded Developers to automate the installation of
Windows operating systems. SIM allows developers to
install applications, device drivers, and Windows updates
along with the Windows operating system. The ability to
automate operating system installation helps to remove any
human error that can occur with manual installation. The
ability to maintain and support many platforms over a long
life-cycle is also an important asset in today’s
ever-changing technology. To perform all these tasks, a
solid workflow to develop the image from the ground up is
important. This 2nd edition dives deeper into
the development process.
Development
Workflow – A development process that has been
in use since Windows XP Embedded and evolved over the
different Windows Embedded releases. The development
workflow provides the best-known steps to create and
maintain a custom image using System Image Manager.
Security
– Windows security features and terminology
have changed since Windows 10 was first released. The
current security features are discussed in clearer detail
and integrated into the larger lockdown.
Synchronous
commands
scrips – SIM doesn’t have a setting for
everything. The downloads for the book contain some of the
popular scripts for custom settings such as audio volume
level, sticky keys, network IP setup, hide the taskbar,
and visual effects.
Other
tools – the book covers the Shell Launcher,
UWF, and Key Filter utilities from Annabooks, as well as,
other tools for partitioning disks and setting Group
Policy.
Footprint
reduction
– various tips to help reduce the image
footprint for systems that have smaller drive space are
discussed.
Performance
– discover how to get the best performance out
of the system.
Low-Speed
Bus API – creation applications that access
GPIO, SPI, I2C, and UART is presented.
There
are 17 chapters with hands-on exercises to focus on the
workflow and specific features. The final chapter pulls
all the topics together to walk through the workflow to
create a weather station device that sends data to Azure
IoT Central.
|
|
1 START HERE
1.1 WINDOWS 10: ANOTHER NEW DIRECTION
FOR MICROSOFT AND IOT
1.2 WINDOWS XP EMBEDDED AND WINDOWS
EMBEDDED STANDARD 7
1.3 WHAT ABOUT WINDOWS 11?
1.4 ABOUT THE BOOK
1.5 DEVELOPMENT MACHINE AND SOFTWARE
REQUIREMENTS
1.6 TARGET HARDWARE REQUIREMENTS: CHOSE
THE CORRECT TARGET HARDWARE THAT ADDRESSED PERFORMANCE AND
SECURITY
1.7 THE LICENSE AND ACTIVATION STORY
1.7.1 Getting Signed Up with the CLA
1.7.2 Runtime key and Activation
1.8 THREE THINGS TO KEEP IN MIND – DON’T
SAY I DIDN’T WARN YOU
1.8.1 Application Development – Go with
.NET 6, UWP IS DEAD!
1.8.2 Windows is not for Everyone –
Linux versus Windows
1.8.3 Microsoft’s Manufacturing Guide
versus the My Recommended Workflow
1.9 SUMMARY: STAY ON THE RIGHT PATH
2 SIM AND THE DEVELOPMENT WORKFLOW FOR
INTEL ARCHITECTURE
2.1.1 High-Level Overview
2.2 EXERCISE 201: INSTALLATION OF THE
ADK WITH SIM OPTION AND GENERATION OF A CATALOG FILE
2.2.1 ADK Install
2.2.2 Create Catalog
2.3 THE BASICS PART 1: GATHER ITEMS FROM
TARGET INSTALLATION
2.3.1 Exercise 202: Capture Drivers and
Create a Distribution Share
2.4 SIM INTERFACE OVERVIEW
2.5 INSTALLATION PASSES AND THE ANSWER
FILE
2.6 COMPONENTS AND THE PASSES: PRESET
INSTALLATION ANSWERS
2.7 THE DISTRIBUTION SHARE
2.7.1 $OEM$ Folders
2.7.2 Out-of-box Drivers
2.7.3 Packages
2.8 THE BASICS PART 2: CREATE
DISTRIBUTION SHARE AND ANSWER FILE
2.8.1 Exercise 203 Create and Set Up the
Distribution Share
2.8.2 Exercise 204: Create a New Answer
File
2.8.3 Look inside the Answer File
2.9 THE BASICS PART 3: PASS 7
SYNCHRONOUS COMMANDS
2.9.1 Other Pass 7 Synchronous Commands
for Either Answer File
2.10 THE BASICS PART 4: TEST THE BASICS
2.10.1 Exercise 205: Create the Bootable
USB Flash Disk Using Rufus
2.10.2 Exercise 206: Build the
Configuration Set
2.10.3 DVD/ISO Deployment
2.11 MULTIPLE PROJECTS
2.12 BUILDING ON THE BASICS
2.13 ADD LOCKDOWN FEATURES: ARCHITECT
THE OS
2.14 SYSPREP FOR PRODUCTION – YOU MUST
SYSPREP FOR MANUFACTURING!!!!!!
2.14.1 Sysprep Command
2.14.2 Audit Mode for Baseline Images
2.14.3 Yes, You Must Sysprep
2.14.4 Exercise 207: Create a Sysprep
Unattended Answer file and Run Sysprep
2.15 MASTER IMAGE
2.15.1 Exercise 208: Capture, Apply, and
FFU
2.15.2 Activation and Production
Questions
2.16 EXERCISE 209: VOLUME ACTIVATION
MANAGEMENT TOOL (VAMT)
2.17 SUMMARY: HORSE MEETS WATER
3 SYSTEM PERFORMANCE
3.1 CHOICE OF APPLICATION TYPE
3.2 OPTIMIZE .NET APPS WITH NGEN.EXE AND
CROSSGEN.EXE
3.3 EXERCISE 301: CREATE A CUSTOM POWER
PLAN
3.4 PERFORMANCE OPTIONS AND REGISTRY
KEYS
3.5 WINDOWS SERVICES
3.6 SCHEDULED TASKS
3.7 SUMMARY: MAKE THE SYSTEM AN
APPLIANCE AND TWEAK PERFORMANCE
4 REAL-TIME SUPPORT
4.1 WHAT IS REAL-TIME?
4.1.1 Hard Real-Time, Soft Real-Time,
and Determinism
4.2 SPLIT SYSTEM
4.3 INTERNAL WINDOWS SOFT REAL-TIME
SUPPORT- NEW
4.4 TENASYS® INTIME® FOR WINDOWS®
4.5 SUMMARY: REAL-TIME APPLICATIONS ARE
POSSIBLE
5 FOOTPRINT REDUCTION
5.1 THE VALUE OF COMPONENTIZATION
5.2 IMAGE SIZE COMPARISON
5.3 THE COMPLEXITY OF COMPONENTIZATION
5.4 HOW DID WE GET HERE?
5.5 REDUCTION POWERSHELL SCRIPT FOR CORE
OS
5.6 REMOVE OPTIONAL PACKAGES
5.7 OTHER DISK IMAGE SIZE TRICKS
5.7.1 Disable Features
5.7.2 Turn off Hibernation and Disable
Virtual Memory
5.7.3 Remove a copy of the Windows
custom installer
5.7.4 Compact OS
5.7.5 Clean up Windows Update
5.7.6 Remove WinRE Partition
5.8 EXERCISE 501: MINIMIZING THE WINDOWS
10 IOT ENTERPRISE LTSC 2021 FOOTPRINT
5.9 EXERCISES 502: IMPLEMENTING A
REMOVAL SCRIPT
5.10 SIZE MATTERS
6 LOCKDOWN PART 1: USER EXPERIENCE
6.1 DEVICE LOCKDOWN FEATURES
6.2 BOOTUP SCREENS
6.2.1 BIOS Splash Screen
6.2.2 Microsoft-Windows-Embedded-BootExp
Component
6.3 LOGIN SCREEN
6.3.1
Microsoft-Windows-Embedded-EmbeddedLogon Component
6.3.2 Custom Logon / Lock Screen
Background Image
6.3.3 Autologon
6.4 SHELLS – FINAL APPLICATION TO RUN ON
STARTUP
6.4.1 Shell Launcher V1
6.4.2 Shell Launcher V2 (Avoid this
version)
6.4.3 Custom Shell Notes – Windows
without Explorer.exe as the Shell
6.5 EXERCISE 601 – CREATING A BRANDED
IMAGE
6.6 MULTI-MONITOR AND SCREEN ROTATION
6.7 MANUFACTURING – WHEN TO ENABLE SHELL
LAUNCHER IN THE IMAGE
6.8 SUMMARY: FIRST IMPRESSIONS
7 LOCKDOWN PART 2: UWF AND KEYBOARD
FILTER
7.1 UNIFIED WRITE FILTER (UWF)
7.1.1 UWF Architecture
7.1.2 Application File I/O Interaction
with UWF
7.1.3 Registry Filtering
7.1.4 Hibernate Once, Resume Many (HORM)
– Not Worth It
7.1.5 Enable UWF in SIM and UWF Settings
7.1.6 Managing UWF – UWFMGR and WMI
7.1.7 Common Write-Through Section
7.1.8 UWF Servicing
7.2 MITIGATING SUDDEN POWER-OFF ISSUES
7.3 KEYBOARD FILTER
7.4 EDGE GESTURES DISABLE
7.5 TOAST MESSAGE DISABLE
7.6 EXERCISE 701: UNIFIED WRITE FILTER
AND KEYBOARD FILTER
7.6.1 Part 1: Create the Answer File and
Build the Configuration Set
7.6.2 Part 2: Testing UWF Registry
Filtering
7.6.3 Part 3 Testing UWF File/Folder
Filtering
7.6.4 Part 4 Testing the Keyboard Filter
7.7 ARCHITECTURE: WHEN TO ENABLE THESE
FEATURES
7.8 SUMMARY: DRIVE C AND KEYBOARD HOT
KEYS
|
8 LOCKDOWN PART
3: SECURITY
8.1 WINDOWS SECURITY EVOLUTION
8.2 HARDWARE AND FIRMWARE
8.3 WINDOWS FIREWALL SETTINGS AND POLICY
FILE
8.4 ANTIVIRUS SOFTWARE
8.5 CUSTOM SECURITY TEMPLATE
8.6 CUSTOM GROUP POLICIES
8.7 EXERCISE 801 – CREATING AND
IMPLEMENTING CUSTOM SECURITY SOLUTIONS
8.7.1 Part 1: Creating a Custom Security
Template
8.7.2 Part 2: Group Policy Settings
8.7.3 Part 3: Create Answer File and
Deploy and Test the Image with the Security Policy
8.8 DRIVER BLOCKING: GROUP POLICY:
DEVICE INSTALLATION RESTRICTIONS (DIR)
8.8.1 Top Level Policies
8.8.2 Control by Device ID
8.8.3 Control by Device Class
8.8.4 Other Policy Settings
8.8.5 Scenarios and Setup
8.9 TPM CHIP
8.10 BITLOCKER
8.11 SECUREBOOT, UEFI, SECURELAUNCH
8.12 HYPERVISOR-PROTECTED CODE INTEGRITY
(HVCI)
8.13 DEVICE GUARD (SECUREBOOT, SECURE
LAUNCH, HVCI/DG/CG) AND THE CREDENTIAL GUARD READINESS
TOOL
8.13.1 Enable with Group Policy
8.13.2 Enable with Registry Keys
8.13.3 Check and Enable with Windows
Defender Device Guard and Windows Defender Credential
Guard Readiness Tool
8.14 EXERCISE 802 – DEVICE GUARD
READINESS TOOL
8.14.1 Check the System
8.14.2 Enable Disabled HVCI/DG/CG
8.15 COMPLETE WINDOWS BOOT PROCESS
8.16 WINDOWS DEFENDER APPLICATION
CONTROL (WDAC)
8.16.1 WDAC Policy File
8.16.2 Warning! PowerShell Language
Modes, UWP, and Shell Launcher V2 Bridge Script Issues
8.17 EXERCISE 803: WDAC POLICY CREATION
AND TEST
8.18 BIOSECURITY ACCESS
8.19 SECURITY FROM THE CLOUD FOR THE END
CUSTOMER
8.20 SUMMARY: HOW MUCH DO YOU LOCK DOWN?
9 UPDATES AND
IMAGE SERVICING
9.1 SERVICING PLAN: ARCHITECTURE,
ARCHITECTURE, … ARCHITECTURE!
9.2 UPDATE SOLUTIONS
9.3 UWF SERVICING MODE
9.4 DISABLE WINDOWS UPDATE: CONTROL THY
SYSTEM
9.5 GETTING WINDOWS UPDATES TO CREATE A
SYSTEM PATCH
9.6 WINPE
9.6.1 WinPE Optional Components
9.6.2 Dual boot with Windows and WinPE
9.7 EXERCISE 901: CUSTOM WINPE
9.8 SUMMARY: DON’T FORGET SERVICING
10 RHPROXY AND
LOW POWER I/O
10.1 THE BACK STORY
10.2 RESOURCE HUB PROXY (RHPROXY)
10.3 CORRECT DEVICE DRIVER SUPPORT IS
REQUIRED
10.4 HARDWARE PLATFORMS
10.4.1 UP Board BIOS Settings
10.4.2 UP2 Board BIOS Settings for HAT
Connector
10.5 EXERCISE 1001: SDK BUS TOOLS
10.5.1 On the Target System
10.5.2 On the host system
10.5.3 Running the Bus Tools
10.6 SUMMARY: CHECK FOR RHPROXY SUPPORT
11 GPIO
11.1 WINDOWS RUNTIME GPIO NAMESPACE
11.2 GPIOTESTTOOL
11.3 EXERCISE 1101 BASIC OUTPUT – THE
FLASHING LED
11.4 EXERCISE 1102 INPUT INTERRUPT
11.5 EXERCISE 1103 – DIAGNOSTICS
11.6 SUMMARY: 1 AND 0
12 UART
12.1 SERIAL PORT STANDARDS
12.2 WINDOWS RUNTIME SERIALCOMMUNICATION
NAMESPACE AND OTHER NAMESPACES
12.3 PC SERIAL PORTS – SERIALPORT CLASS
12.4 MINCOMM.EXE
12.5 EXERCISE 1201: SERIAL TRANSMIT WITH
SPARKFUN™ SERLCD
12.6 EXERCISE 1202 – SERLCD ASSEMBLY
LIBRARY
12.7 EXERCISE 1203 – GPS
12.8 EXERCISE 1204: SIMPLE SERIAL
TERMINAL
12.9 SUMMARY: UART
13 SERIAL
PERIPHERAL INTERFACE (SPI)
13.1 THE SERIAL PERIPHERAL INTERFACE
(SPI) BUS, NOT FOR BIT BANGING!
13.2 SPI CONNECTIVITY BASICS
13.3 WINDOWS RUNTIME SPI NAMESPACE
13.4 SPITESTTOOL.EXE
13.5 EXERCISE 1301: SPI PRESSURE SENSOR
13.6 EXERCISE 1302: SPI PRESSURE SENSOR
ASSEMBLY LIBRARY
13.7 EXERCISE 1303: SPI
ADC
13.8 EXERCISE 1304: SPI ADC LIBRARY
13.9 THE SPI SUMMARY
14
INTER-INTEGRATED CIRCUIT (I2C)
14.1 THE INTER-INTEGRATED CIRCUIT (I2C)
BUS
14.2 WINDOWS RUNTIME I2C NAMESPACE
14.3 I2CTESTTOOL.EXE
14.4 EXERCISE 1401: I2C TEMPERATURE
SENSOR – TMP102
14.5 EXERCISE 1402: I2C TEMPERATURE
SENSOR ASSEMBLY LIBRARY WITH .NET CORE 2.1 APPLICATION
14.6 EXERCISE 1403: I2C HUMIDITY SENSOR
ASSEMBLY LIBRARY
14.7 THE I2C SUMMARY
15 PULSE WIDTH
MODULATION
15.1 PULSE-WIDTH MODULATION OVERVIEW
15.2 PWM NAMESPACE
15.3 PWMTESTTOOL.EXE
15.4 EXERCISE 1501: PWM MOTOR CONTROL
15.5 SUMMARY: PULSE WIDTH MODULATION
(PWM)
16
ANALOG-TO-DIGITAL CONVERTER (ADC)
16.1 ANALOG-TO-DIGITAL CONVERTER
OVERVIEW
16.2 ADC CHANNELS AND BITS
16.3 WINDOWS RUNTIME ADC AND
ADC.PROVIDER NAMESPACES
16.4 NO ADC EXERCISES
16.5 SUMMARY: ANALOG-TO-DIGITAL
CONVERTER (ADC)
17 PUTTING IT ALL
TOGETHER: SENSORS TO CLOUD
17.1 TARGET SYSTEM SETUP AND STARTING
THE WORKFLOW
17.2 CREATE AZURE IOT CENTRAL
APPLICATION
17.3 CREATE THE WEATHER APPLICATION IN
VISUAL STUDIO
17.3.1 Install Azure CLI
17.3.1 Create the Visual Studio Project
17.3.2 Set Up the XAML Controls
17.3.3 Write the code
17.3.4 Test the Application
17.4 SET UP THE DISTRIBUTION SHARE AND
CREATE THE ANSWER FILE
17.4.1 Set Up the Distribution Share
17.4.2 Create the Answer File
17.4.3 Create the Sysprep unattended
file
17.5 BUILD, DEPLOY, AND RUN SYSPREP
17.5.1 Build and Deploy
17.5.2 Run WDAC PowerShell Script
17.5.3 Run Windows Update, Optional
Shrink Image, and Cleanup
17.5.4 Run Sysprep
17.6 DELETE THE WEATHER APPLICATION IN
AZURE IOT CENTRAL
17.7 SUMMARY
|