ISO image: where is the CLANG compiler?

Daniel Kalchev daniel at digsys.bg
Wed Jan 18 08:46:46 UTC 2017


I never use the pre-built ISO images for tasks like this. Here is a script I use to build my own USB boot drive. The drive contains the full OS to boot and also a copy used to create a new system. I make these boot drives from time to time, to stay current. Please note the script is few years old (for 9-stable) and you might want to twiddle with boot partition size if they grew. You need to have done bouildworld/buildkernel on the host before using this script.

$ cat createuboot
#!/bin/sh
# target USB drive to write to
disk=da1
# use the current date for labels
today=`date "+%Y%m%d"`
# wipe out partition data form drive
# do it twice to wipe more stuff (might not be needed anymore)
gpart destroy -F $disk   
gpart create -s GPT $disk
gpart destroy -F $disk        
# GPT label the drive
gpart create -s GPT $disk      
# bootstrap partition 
gpart add -b 34 -s 128 -t freebsd-boot $disk   
# partition for the OS
gpart add -a 4k -t freebsd-ufs -l boot$today $disk 
# write bootstrap code
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 $disk

# format file system
newfs  /dev/gpt/boot$today

# mount file system
mount -o async /dev/gpt/boot$today /mnt

# install FreeBSD
cd /usr/src
make installworld DESTDIR=/mnt
make distribution DESTDIR=/mnt
make installkernel DESTDIR=/mnt
# Create new “clean” copy of FreeBSD for later use
mkdir -p /mnt/root/FreeBSD
make installworld DESTDIR=/mnt/root/FreeBSD
make distribution DESTDIR=/mnt/root/FreeBSD
make installkernel DESTDIR=/mnt/root/FreeBSD

# copy scripts
cp -r ~/scripts /mnt/root

echo /dev/gpt/boot$today / ufs rw,noatime 0 1 > /mnt/etc/fstab
umount /mnt


You might add more customizations, such as dhclient and starting sshd in /etc/rc.conf of the boot drive.

Hope this helps…

Daniel


> On 18.01.2017 г., at 9:45, O. Hartmann <ohartmann at walstatt.org> wrote:
> 
> I ran into a very nasty situation where I need to save/restore/reinstall a
> in-installworld-crashed recent current.
> 
> While the /usr/obj and /usr/src as well as /etc folders are intact (residing on
> a Samsung 850 pro SSD with UFS and journaling), /boot/kernel vanished and
> most binaries in /bin and /sbin are of Null size.
> 
> I treid to rescue the system by intending to use the most recent CURRENT ISO
> image found on the snapshot server for USB drives, booted this successfully and
> then mounted the failes filesystems into the proper place (/usr/obj
> and /usr/src onto USB devices /usr/obj and /usr/src respectively, the rest goes
> into /mnt).
> 
> I tried then to perform a make installworld with DESTDIR=/mnt set. But I fail:
> the minimalistic USB image does not have any CLANG/LLVM stuff required for the
> rescue!
> 
> Where the hell did this stuff go? Has it been ripped off due to the 1 GB
> ancient flash size? 
> 
> Help is needed. I've already posted to CURRENT a message, but I guess I always
> hit the wrong subject line. It seems that the key to my saviour is to have a
> flash drive with a recent CURRENT containing a cc compiler - otherwise /usr/obj
> is useless.
> 
> Kind reards,
> 
> Oliver
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"



More information about the freebsd-current mailing list