21
21
# wrong.
22
22
#
23
23
24
- RELEASE=" ${RELEASE:- 20 .04.1} "
24
+ RELEASE=" ${RELEASE:- 24 .04.1} "
25
25
ARCH=" ${ARCH:- amd64} "
26
- VARIANT=" ${VARIANT:- legacy } "
26
+ VARIANT=" ${VARIANT:- subiquity } "
27
27
28
28
29
29
DIR=$( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd)
@@ -45,47 +45,138 @@ while getopts "f:a:r:" opt ; do
45
45
;;
46
46
esac
47
47
done
48
+ # Newly added
49
+ ubuntu_name=" ubuntu-${RELEASE} -live-server-${ARCH} .iso"
50
+ ona_name=" ona-${RELEASE} -server-${ARCH} .iso"
51
+ ubuntu_url=" ${url:- $($DIR / build_iso_helper $RELEASE $VARIANT )} "
52
+
53
+ # ubuntu_name="ubuntu-24.04.1-live-server-amd64.iso"
54
+ # ona_name="ona-${RELEASE}-server-${ARCH}.iso"
55
+ ONA_URL=" https://s3.amazonaws.com/onstatic/ona-service/master/"
56
+ if [ -n " $PUBLIC_ONA " ]; then
57
+ ONA_URL=" https://assets-production.obsrvbl.com/ona-packages/obsrvbl-ona/v5.1.2/"
58
+ fi
59
+ # netsa_pkg_name="netsa-pkg.deb"
60
+ ona_pkg_name=" ona-service_UbuntuNoble_amd64.deb"
48
61
49
- ubuntu_name=" ubuntu-${RELEASE} -server-${ARCH} .iso"
50
- ona_name=" ona-${RELEASE} -server-${ARCH} .iso"
51
- ubuntu_url=" ${url:- $($DIR / build_iso_helper $RELEASE $VARIANT )} "
52
62
test -n " $ubuntu_url " || fatal " failed getting Ubuntu ISO download URL"
53
- ona_service_url=" https://s3.amazonaws.com/onstatic/ona-service/master/ona-service_UbuntuXenial_amd64.deb"
54
- netsa_pkg_url=" https://assets-production.obsrvbl.com/ona-packages/netsa/v0.1.27/netsa-pkg.deb"
63
+
64
+ ONA_URL=" https://s3.amazonaws.com/onstatic/ona-service/master/"
65
+ if [ -n " $PUBLIC_ONA " ]; then
66
+ ONA_URL=" https://assets-production.obsrvbl.com/ona-packages/obsrvbl-ona/v5.1.2/"
67
+
68
+ fi
69
+
70
+ # ona_service_url="${ONA_URL}ona-service_UbuntuNoble_amd64.deb"
71
+ ona_service_url=" https://assets-production.obsrvbl.com/ona-packages/obsrvbl-ona/v5.1.3/ona-service_UbuntuNoble_amd64.deb"
72
+ netsa_pkg_url=" https://assets-production.obsrvbl.com/ona-packages/netsa/v0.1.27/netsa-pkg.deb"
73
+
74
+
55
75
56
76
shift $(( $OPTIND - 1 ))
57
77
58
78
test $EUID -ne 0 && sudo=" sudo"
59
- which mkisofs 1> /dev/null || fatal " missing mkisofs: $sudo apt-get install genisoimage"
60
- which isohybrid 1> /dev/null || fatal " missing isohybrid: $sudo apt-get install syslinux-utils"
61
79
62
80
[[ -d " $DIR " ]] || fatal # invalid directory
63
- [[ -d " $DIR " /working && $( ls -A " $DIR " /working) ]] && fatal # working directory exists and is not empty
64
81
[[ -d " $DIR " /working ]] || mkdir " $DIR " /working # working directory does not exist, so create it
82
+
83
+ major_version=$( echo " $RELEASE " | cut -d ' .' -f 1)
84
+
85
+ # Check if the major version number is greater than 20
86
+ if [ " $major_version " -gt 20 ]; then
87
+ which xorriso 1> /dev/null || fatal " missing xorriso: $sudo apt-get install xorriso -y"
88
+ NEW_FORMAT=true
89
+ BOOT_CAT=" /boot.catalog"
90
+ EFI=' /boot/grub/i386-pc/eltorito.img'
91
+ ELTORITO=' /boot/grub/i386-pc/eltorito.img'
92
+ else
93
+ which mkisofs 1> /dev/null || fatal " missing mkisofs: $sudo apt-get install genisoimage"
94
+ which isohybrid 1> /dev/null || fatal " missing isohybrid: $sudo apt-get install syslinux-utils"
95
+ BOOT_CAT=" isolinux/boot.cat"
96
+ EFI=" isolinux/isolinux.bin"
97
+ ELTORITO=" boot/grub/efi.img"
98
+ fi
99
+
65
100
(
66
101
set -e
102
+ if [ ! -e " /root/$ubuntu_name " ]; then
103
+ curl -L -o /root/${ubuntu_name} " ${ubuntu_url} "
104
+ fi
105
+
67
106
cd " $DIR " /working
68
- curl -L -o ${ubuntu_name} " ${ubuntu_url} "
107
+ # [[ -d "$DIR/local_files/" ]] && cp "$DIR"/local_files/* .
69
108
curl -L -o netsa-pkg.deb " ${netsa_pkg_url} "
70
- curl -L -o ona-service.deb " ${ona_service_url} "
109
+ # curl -L -o "${ona_pkg_name}" "${ona_service_url}"
110
+ $sudo cp /obsrvbl/images/iso/ona-service_UbuntuNoble_amd64.deb /obsrvbl/images/iso/working/
111
+
112
+
113
+
114
+
115
+
116
+ $sudo apt-get -y update
117
+ # you can install packages here if you want
118
+
119
+ PACKAGES=" apt-transport-https iptables-persistent ipset libjansson4 libltdl7 liblzo2-2 libnet1 libyaml-0-2 nano ntp ntpdate snmp tcpdump net-tools libsnappy1v5 python3-dateutil"
120
+ $sudo apt-get -yyqq install --download-only ${PACKAGES}
121
+
122
+
123
+
124
+
125
+ # local is root dir in ISO
71
126
mkdir cdrom local
72
- $sudo mount -o loop --read-only " ${ubuntu_name} " cdrom
127
+ pwd
128
+
129
+ $sudo mount -o loop --read-only " /root/${ubuntu_name} " cdrom
73
130
rsync -av --quiet cdrom/ local
74
- $sudo cp ../preseed/* local/preseed/
131
+
132
+ $sudo cp -r /var/cache/apt local
75
133
$sudo cp -r ../ona local
76
134
$sudo cp netsa-pkg.deb local/ona/netsa-pkg.deb
77
- $sudo cp ona-service.deb local/ona/ona-service.deb
78
- $sudo cp ../isolinux/txt.cfg local/isolinux/txt.cfg
79
- $sudo cp ../isolinux/grub.cfg local/boot/grub/grub.cfg
80
- $sudo mkisofs -quiet -r -V " SWC Sensor Install CD" \
81
- -cache-inodes \
82
- -J -l -b isolinux/isolinux.bin \
83
- -c isolinux/boot.cat -no-emul-boot \
84
- -boot-load-size 4 -boot-info-table \
85
- -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot \
86
- -o " ../${ona_name} " local
135
+ $sudo cp ${ona_pkg_name} local/ona/${ona_pkg_name}
136
+
137
+ echo " New format: $NEW_FORMAT "
138
+ if [ -n " $NEW_FORMAT " ]; then
139
+ # copy autoinstall folders for grub
140
+ $sudo cp -r ../autoinstall/nocloud-dhcp local/
141
+ $sudo cp ../isolinux/grub.cfg local/boot/grub/grub.cfg
142
+ else
143
+ $sudo cp ../preseed/* local/preseed/
144
+ $sudo cp ../isolinux/txt.cfg local/isolinux/txt.cfg
145
+ $sudo cp ../isolinux/grub.cfg local/boot/grub/grub.cfg
146
+ fi
147
+
148
+ if [ -n " $NEW_FORMAT " ]; then
149
+ xorriso -as mkisofs -r -V ' SWC Sensor Install CD' \
150
+ -o " ../${ona_name} " \
151
+ --grub2-mbr --interval:local_fs:0s-15s:zero_mbrpt,zero_gpt:" /root/${ubuntu_name} " \
152
+ -partition_offset 16 \
153
+ --mbr-force-bootable \
154
+ -append_partition 2 0xef \
155
+ --interval:local_fs:4099440d-4109507d::" /root/${ubuntu_name} " \
156
+ -appended_part_as_gpt \
157
+ -c " ${BOOT_CAT} " \
158
+ -b " ${ELTORITO} " \
159
+ -no-emul-boot -boot-load-size 4 -boot-info-table \
160
+ --grub2-boot-info \
161
+ -eltorito-alt-boot \
162
+ -e ' --interval:appended_partition_2:::' \
163
+ -no-emul-boot \
164
+ local
165
+ else
166
+ $sudo mkisofs -quiet -r -V " SWC Sensor Install CD" \
167
+ -cache-inodes \
168
+ -J -l -b " ${BOOT_CAT} " \
169
+ -c " ${EFI} " -no-emul-boot \
170
+ -joliet-long \
171
+ -boot-load-size 4 -boot-info-table \
172
+ -eltorito-alt-boot -e " ${ELTORITO} " -no-emul-boot \
173
+ -o " ../${ona_name} " local
174
+
175
+ isohybrid " ../${ona_name} "
176
+ fi
177
+
87
178
$sudo umount cdrom
88
179
$sudo chown $USER :$USER " ../${ona_name} "
89
- isohybrid " ../ ${ona_name} "
180
+ $sudo rm -rf " $DIR " /working
90
181
)
91
- $sudo rm -rf " $DIR " /working
182
+
0 commit comments