Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cpud: add an option to sleep before serving
When cpud runs as init, and serves mDNS, it can start serving before mDNS will work. It is still not clear why this fails, but adding a 5 second sleep before serve() resolves it for now. Such a sleep is obviously undesirable, but the default is 0. To set the timeout when cpud runs as init, add -- --sleepBeforeServing=5s to the kernel command line. This sleep is required to make mDNS work for in-flash or netbooted images. BUT: if you have it, you don't even need a DHCP server to use it. rminnich@pop-os:~/oreboot/linux$ sidecore . /bbin/ip a ... 2: eth0: <UP,BROADCAST,MULTICAST> mtu 1500 state UP link/ether 6c:cf:39:00:48:20 inet6 fe80::6ecf:39ff:fe00:4820 scope link valid_lft forever preferred_lft forever rminnich@pop-os:~/oreboot/linux$ sidecore vf2 date Thu Jan 1 00:11:44 UTC 1970 rminnich@pop-os:~/oreboot/linux$ vf2 is in my ~/.ssh/config as Host vf2 HostName fe80::6ecf:39ff:fe00:4820 IdentityFile ~/.ssh/cpu_rsa i.e. link-local only You can bring up a set of machines, get their link local address via mDNS, and then use link local from then on. No DHCP server needed. In fact this on command sidecore . /bbin/ip l will get the macs for ALL machines. Note: this is why it pays to just put all the u-root commands in the image. One such command to do this: (p=$PWD && \ cd ~/go/src/github.com/u-root/cpu/cmds/cpud/ && \ GOARCH=riscv64 u-root -tags mDNS \ -uroot-source ~/go/src/github.com/u-root/u-root/ \ -files ~/.ssh/cpu_rsa.pub:key.pub \ -initcmd=/bbin/cpud \ . all) xz --check=crc32 -9 --lzma2=dict=1MiB \ --stdout /tmp/initramfs.linux_riscv64.cpio \ | dd conv=sync bs=512 of=emb.cpio.xz Signed-off-by: Ronald G Minnich <[email protected]>
- Loading branch information