From 2882a54c799aabf5282204ce2e9285e8d87e4f7e Mon Sep 17 00:00:00 2001 From: jryberg Date: Mon, 3 Oct 2011 00:09:09 +0200 Subject: [PATCH] Booting USB kernel with duid and added more sd devices to make booting on USB-stick more compatible with different hardware --- build-usbimage.sh | 9 +++++++++ build-usbkernel.sh | 2 +- initial-conf/fstab.initial.usb | 2 +- list | 1 + 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/build-usbimage.sh b/build-usbimage.sh index b7333f4..9dbed18 100755 --- a/build-usbimage.sh +++ b/build-usbimage.sh @@ -106,6 +106,15 @@ echo "Installing disklabel..." ${SUDO} disklabel -R $DEVICE $TEMPFILE rm $TEMPFILE +echo "" +echo "Setting duid with disklabel..." +${SUDO} disklabel -E $DEVICE << __EOC >/dev/null +i +0123456789abcdef +write +quit +__EOC + echo "" echo "Creating new filesystem..." ${SUDO} newfs -q /dev/r${DEVICE}a diff --git a/build-usbkernel.sh b/build-usbkernel.sh index ffdf765..84696d8 100755 --- a/build-usbkernel.sh +++ b/build-usbkernel.sh @@ -87,7 +87,7 @@ gzip -c9 ${CWD}/${WORKDIR}/obj/bsd.rd > ${CWD}/${WORKDIR}/obj/bsd.gz # Clean up rm -rf ${CWD}/${WORKDIR}/dev/* rm -r ${CWD}/obj/* -#rm -f list.temp +rm -f list.temp rm -f $KERNEL # Move kernel files from sandbox to the "old" location as before chroot diff --git a/initial-conf/fstab.initial.usb b/initial-conf/fstab.initial.usb index 5de11ef..dec07cf 100644 --- a/initial-conf/fstab.initial.usb +++ b/initial-conf/fstab.initial.usb @@ -1,2 +1,2 @@ /dev/rd0a / ffs rw 0 0 -/dev/sd0a /flash ffs ro,sync,noatime 0 1 +0123456789abcdef.a /flash ffs ro,sync,noatime 0 1 diff --git a/list b/list index 1656c0c..8342916 100644 --- a/list +++ b/list @@ -6,6 +6,7 @@ SPECIAL cd dev; ./MAKEDEV ttyU0 ttyU1 SPECIAL cd dev; ./MAKEDEV tun0 tun1 tun2 tun3 tun4 tun5 tun6 tun7 SPECIAL cd dev; ./MAKEDEV bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 SPECIAL cd dev; ./MAKEDEV pf crypto fd wsmux wscons apm local gpio +SPECIAL cd dev; ./MAKEDEV sd1 sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9 COPY ${DESTDIR}/etc/disktab etc/disktab COPY ${DESTDIR}/etc/login.conf etc/login.conf