Skip to content
This repository was archived by the owner on May 11, 2026. It is now read-only.

Commit 55cb8cf

Browse files
committed
v3.0.5
1 parent 21d2ab5 commit 55cb8cf

6 files changed

Lines changed: 33 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
220220
### Known Problem
221221
- Missing instructions of how to build the boot.wim, boot.sdi and BCD from Microsoft ADK
222222

223+
## [3.0.5] - 2023-03-14
224+
### Added
225+
- Added support for UEFI HTTP Boot (HTTPClient)
226+
227+
### Changed
228+
- Fixed anticipate DHCP delays in the network with iPXE
229+
- Fixed samba config path
230+
- Fixed detecting if there is more than one dhcp server on the network
231+
- Switched Docker Daemon to vfs because aufs bug on ESP uOS
232+
233+
### Known Problem
234+
- Missing instructions of how to build the boot.wim, boot.sdi and BCD from Microsoft ADK
235+
223236

224237
[1.5.1]: https://github.com/intel/Edge-Software-Provisioner/compare/v1.5...v1.5.1
225238
[1.6.0]: https://github.com/intel/Edge-Software-Provisioner/compare/v1.5.1...v1.6
@@ -238,3 +251,4 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
238251
[3.0.0]: https://github.com/intel/Edge-Software-Provisioner/compare/v2.5.4...v3.0
239252
[3.0.1]: https://github.com/intel/Edge-Software-Provisioner/compare/v3.0...v3.0.1
240253
[3.0.2]: https://github.com/intel/Edge-Software-Provisioner/compare/v3.0.1...v3.0.2
254+
[3.0.3]: https://github.com/intel/Edge-Software-Provisioner/compare/v3.0.2...v3.0.3

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ services:
261261
- 445:445
262262
volumes:
263263
- ./data/usr/share/nginx/html/smb:/smbshare
264+
- ./template/smb/smb.conf:/etc/samba/smb.conf
264265
tty: true
265266
# network_mode: bridge
266267
depends_on:

dockerfiles/dnsmasq/Dockerfile

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ RUN sed -i 's|//#define\tCONSOLE_FRAMEBUFFER|#define\tCONSOLE_FRAMEBUFFER|g' /bu
4343
# Destination folder for compiled files
4444
WORKDIR /ipxe/
4545

46+
# The following is too anticipate DHCP delays in the network
4647
RUN echo -e '#!ipxe\n\ndhcp\nchain menu.ipxe' > /build/src/chain.ipxe
4748

4849
# Compile embedded chain.ipxe for USB/ISO boot
@@ -54,12 +55,15 @@ RUN make -C /build/src/ bin/ipxe.lkrn EMBED=chain.ipxe -j8 && \
5455
cp /build/src/bin-x86_64-efi/ipxe.efi /ipxe/bin-x86_64-efi/ipxe.efi.chain && \
5556
make -C /build/src/ clean
5657

58+
# The following is too anticipate DHCP delays in the network
59+
RUN echo -e '#!ipxe\n\ndhcp\nchain ${filename}' > /build/src/chain.ipxe
60+
5761
# Compile the files in "bin/"
5862
ARG IPXE_BIN="bin/ipxe.dsk bin/ipxe.lkrn bin/ipxe.iso bin/ipxe.usb bin/ipxe.pxe bin/undionly.kpxe bin/rtl8139.rom bin/8086100e.mrom bin/80861209.rom bin/10500940.rom bin/10ec8139.rom bin/1af41000.rom bin/8086100f.mrom bin/808610d3.mrom bin/10222000.rom bin/15ad07b0.rom bin/3c509.rom bin/intel.rom bin/intel.mrom"
5963
# _bin="bin/${IPXE_BIN// / bin\/}" \
6064
RUN [ -z "${IPXE_BIN}" ] || ( \
6165
_bin="${IPXE_BIN}" \
62-
&& make -C /build/src/ ${_bin} -j8 \
66+
&& make -C /build/src/ ${_bin} EMBED=chain.ipxe -j8 \
6367
&& mkdir -p bin/ \
6468
&& for file in ${_bin} ;do ln -v /build/src/${file} /ipxe/${file} ;done \
6569
)
@@ -69,7 +73,7 @@ ARG IPXE_EFI="bin-i386-efi/ipxe.efi bin-i386-efi/ipxe.usb bin-i386-efi/ipxe.efid
6973
# _efi="bin-i386-efi/${IPXE_EFI// / bin-i386-efi\/}" \
7074
RUN [ -z "${IPXE_EFI}" ] || ( \
7175
_efi="${IPXE_EFI}" \
72-
&& make -C /build/src/ ${_efi} -j8 \
76+
&& make -C /build/src/ ${_efi} EMBED=chain.ipxe -j8 \
7377
&& mkdir -p bin-i386-efi/ \
7478
&& for file in ${_efi} ;do ln -v /build/src/${file} /ipxe/${file} ;done \
7579
)
@@ -79,7 +83,7 @@ ARG IPXE_EFI64="bin-x86_64-efi/ipxe.efi bin-x86_64-efi/ipxe.usb bin-x86_64-efi/i
7983
# _efi64="bin-x86_64-efi/${IPXE_EFI64// / bin-x86_64-efi\/}" \
8084
RUN [ -z "${IPXE_EFI64}" ] || ( \
8185
_efi64="${IPXE_EFI64}" \
82-
&& make -C /build/src/ ${_efi64} -j8 \
86+
&& make -C /build/src/ ${_efi64} EMBED=chain.ipxe -j8 \
8387
&& mkdir -p bin-x86_64-efi/ \
8488
&& for file in ${_efi64} ;do ln -v /build/src/${file} /ipxe/${file} ;done \
8589
)
@@ -92,7 +96,7 @@ ARG IPXE_PCBIOS64="bin-x86_64-pcbios/8086100e.mrom bin-x86_64-pcbios/intel.rom b
9296
# _bin64="bin-x86_64-pcbios/${IPXE_PCBIOS64// / bin-x86_64-pcbios\/}" \
9397
RUN [ -z "${IPXE_PCBIOS64}" ] || ( \
9498
_bin64="${IPXE_PCBIOS64}" \
95-
&& make -C /build/src/ EXTRA_CFLAGS="-fno-pie" ${_bin64} -j8 \
99+
&& make -C /build/src/ EXTRA_CFLAGS="-fno-pie" ${_bin64} EMBED=chain.ipxe -j8 \
96100
&& mkdir -p bin-x86_64-pcbios/ \
97101
&& for file in ${_bin64} ;do ln -v /build/src/${file} /ipxe/${file} ;done \
98102
)
@@ -129,12 +133,14 @@ WORKDIR /ipxe/
129133

130134
# Compile the files in "bin-arm64-efi/"
131135
SHELL ["/bin/bash", "-c"]
136+
# The following is too anticipate DHCP delays in the network
137+
RUN echo -e '#!ipxe\n\ndhcp\nchain \${67}' > /build/src/chain.ipxe
132138
ARG IPXE_ARM_EFI64="bin-arm64-efi/ipxe.efi bin-arm64-efi/ipxe.usb bin-arm64-efi/snponly.efi"
133139
# _arm64="bin-arm64-efi/${IPXE_ARM_EFI64// / bin-arm64-efi\/}" \
134140
RUN [ -z "${IPXE_ARM_EFI64}" ] || ( \
135141
_arm64="${IPXE_ARM_EFI64}" \
136142
&& PATH=${PATH}:/build/src/util/:/build/src/ \
137-
&& make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 -C /build/src/ ${_arm64} -j8 \
143+
&& make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 -C /build/src/ ${_arm64} EMBED=chain.ipxe -j8 \
138144
&& mkdir -p bin-arm64-efi/ \
139145
&& for file in ${_arm64} ;do ln -v /build/src/${file} /ipxe/${file} ;done \
140146
)

dockerfiles/uos/uos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ files:
8484
# ssh-rsa fill-this-in-with-an-ssh-key-if-you-want
8585
mode: "0600"
8686
- path: etc/docker/daemon.json
87-
contents: '{"debug": true}'
87+
contents: '{"debug": true, "storage-driver": "vfs"}'
8888
- path: usr/local/bin/uos
8989
contents: |
9090
hostname uos

scripts/templateutils.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ getMySubnet() {
4949

5050
detectDHCP() {
5151
if [[ -z "${builder_config_interface+x}" ]]; then
52-
local ip=$(docker run -it --rm --net=host --entrypoint="" builder-dnsmasq sh -c 'nmap --script broadcast-dhcp-discover 2> /dev/null | grep Identifier | awk "{print \$4}"' )
52+
local ip=$(docker run -it --rm --net=host --entrypoint="" builder-dnsmasq sh -c 'nmap --script broadcast-dhcp-discover 2> /dev/null | grep Identifier | awk "{print \$4}" | head -n 1' )
5353
echo ${ip} | tr -d '\r' 2> /dev/null
5454
else
55-
local ip=$(docker run -it --rm --net=host -e INTERFACE=${builder_config_interface} --entrypoint="" builder-dnsmasq sh -c 'nmap -e ${INTERFACE} --script broadcast-dhcp-discover 2> /dev/null | grep Identifier | awk "{print \$4}"' )
55+
local ip=$(docker run -it --rm --net=host -e INTERFACE=${builder_config_interface} --entrypoint="" builder-dnsmasq sh -c 'nmap -e ${INTERFACE} --script broadcast-dhcp-discover 2> /dev/null | grep Identifier | awk "{print \$4}" | head -n 1' )
5656
echo ${ip} | tr -d '\r' 2> /dev/null
5757
fi
5858
}

template/dnsmasq/dnsmasq.conf

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,10 @@ dhcp-boot=tag:BC_EFI,ipxe/efi64/ipxe.efi
7979
dhcp-boot=tag:X86-64_EFI,ipxe/efi64/ipxe.efi
8080

8181
# Serve out UEFI HTTPClient Boot
82-
dhcp-match=set:X86-64_EFI_HTTP,option:client-arch,16
83-
dhcp-userclass=set:iPXE,iPXE
84-
dhcp-option=lan,tag:X86-64_EFI_HTTP,tag:!iPXE,option:bootfile-name,http://@@HOST_IP@@/tftp/ipxe/efi64/ipxe.efi
85-
dhcp-option=lan,tag:X86-64_EFI_HTTP,tag:!iPXE,option:vendor-class,HTTPClient
86-
dhcp-boot=tag:X86-64_EFI_HTTP,http://@@HOST_IP@@/tftp/ipxe/efi64/ipxe.efi
82+
dhcp-pxe-vendor=PXEClient,HTTPClient:Arch:00016
83+
dhcp-vendorclass=set:X86-64_EFI,HTTPClient:Arch:00016
84+
dhcp-option-force=tag:X86-64_EFI,60,HTTPClient
85+
dhcp-boot=tag:X86-64_EFI,"http://@@HOST_IP@@/tftp/ipxe/efi64/ipxe.efi"
8786

8887
# Fallback to telling all other clients to boot
8988
dhcp-boot=tag:!X86-64_EFI,tag:!BC_EFI,tag:!IA32_EFI,ipxe/legacy/undionly.kpxe

0 commit comments

Comments
 (0)