Re: BSD XXI Manifesto [mDNS proposal]
On 21 February 2014 20:59, Allan Jude freebsd at allanjude.com wrote: I can see the remote controlled installer being especially useful for 'appliance' type devices, like FreeNAS, pfSense, FUDO, etc. How would your phone find the address of the machine once it boots off the USB, so you could access the web server? what apple does. -a The solution used by Apple is mDNS and it does work rather well. When installing in unstructured environments, I find it quite handy to install Apple's mDNSresponder as part of the basic FreeBSD configuration for no reason other than the ability to ssh [hostname] from any box to access any other box on the network. For completely ad-hoc networks, IPv4LL is also useful in conjunction with mDNS. I think it is time that FreeBSD gains support in base for these ZeroConf technologies. Thus, I propose a simple plan to do so. IPv4LL is supported by dhcpcd in NetBSD. We could use this code in our dhclient, or we could simply import their dhcpcd either as replacement for or alternate to our dhclient. The choice of approach I leave open to those more familiar with our dhclient. The import part is the configuration. By default, the DHCP client should fallback to IPv4LL if no DHCP server is found. This should be the behavior for any interface configured for DHCP i.e. ifconfig_[ethif]=DHCP. There also must be a way to disable IPv4LL to enforce use of DHCP in environments where it should be present, for which I propose the notation ifconfig_[ethif]=DHCP-NOLL. If IPv4LL is in active use, the DHCP client should continue to periodically look for a DHCP server and obtain a lease without manual user intervention (which is unfortunately required on both OS X and Windows, leading to sub-optimal experience in cases of temporary unavailability of the DHCP server). When obtaining a lease later, the IPv4LL assigned address should still remain as an alias to prevent closure of active connections when DHCP becomes available. Apple's mDNSresponder is currently available in ports. Their implementation uses the Apache license so I believe we should be able to import this into base without any license issues. The more feature-full Avahi, commonly used on Linux system, is also in ports but is LGPL so is not a good choice for base due to both size and license. Use of mDNS should be based on the addressing scheme in use. If there are any static addresses, we should assume the admin knows how to reach the box, in which case they may enable mDNS. If the box is using purely dynamic addressing then we should assume the addresses may be unknown and mDNS will be useful, perhaps essential, for locating and accessing the machine. The admin should always be able to force mDNS either on or off. Therefore I suggest the rc.conf variable MDNS_ENABLE with possible values AUTO, YES, NO. MDNS_ENABLE=AUTO should be the default and should implement the above logic; iff all interfaces mentioned in rc.conf are not using static addresses then equivalent to YES, otherwise NO. The YES and NO settings turn it on and off as expected. The result is a fresh install that is configured for automatic addressing should always have some valid network address and be findable by a known name. For headless installation, the installer should have a timeout on the network configuration, after which all interfaces attempt DHCP with IPv4LL fallback and hostname defaults to FreeBSD-Install. For the case of several machines all being installed at once, mDNS resolution should be used to check if that name is already in use and if so append a -nnn where nnn is a number to make the names unique. On first boot after installation, the configured hostname will be used if mDNS in enabled according to the above rules. Comments? ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: BSD XXI Manifesto [mDNS proposal]
On Feb 27, 2014, at 12:20 PM, Matthew Rezny matt...@reztek.cz wrote: If IPv4LL is in active use, the DHCP client should continue to periodically look for a DHCP server and obtain a lease without manual user intervention (which is unfortunately required on both OS X and Windows, leading to sub-optimal experience in cases of temporary unavailability of the DHCP server). That's not true for Mac OS. If you have an interface configured to use DHCP, and the Mac is unable to renew the lease, it will automatically configure a 169.254.x.y address on the interface. All the while it continues its attempts to renew the DHCP lease and, once successful, removes the 169.254.x.y address from the interface. --lyndon signature.asc Description: Message signed with OpenPGP using GPGMail
Re: BSD XXI Manifesto [mDNS proposal]
On Feb 27, 2014, at 15:59, Matthew Rezny matt...@reztek.cz wrote: If they corrected that, it was after I abandoned the platform years ago. It has been like that since at least 10.8. And I am also tempted to say that Windows 7 acts the same, but I don't have one at hand to double check. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: BSD XXI Manifesto [mDNS proposal]
On Thursday 27 February 2014 14:55:55 Lyndon Nerenberg wrote: On Feb 27, 2014, at 12:20 PM, Matthew Rezny matt...@reztek.cz wrote: If IPv4LL is in active use, the DHCP client should continue to periodically look for a DHCP server and obtain a lease without manual user intervention (which is unfortunately required on both OS X and Windows, leading to sub-optimal experience in cases of temporary unavailability of the DHCP server). That's not true for Mac OS. If you have an interface configured to use DHCP, and the Mac is unable to renew the lease, it will automatically configure a 169.254.x.y address on the interface. All the while it continues its attempts to renew the DHCP lease and, once successful, removes the 169.254.x.y address from the interface. --lyndon If they corrected that, it was after I abandoned the platform years ago. I remember repeatedly pushing the Renew Lease button in the Network section of System Settings in frustration, waiting to see the address change. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: BSD XXI Manifesto [agree] [intersting]
On 2/22/14, 2:54 PM, Adrian Chadd wrote: On 21 February 2014 20:59, Allan Jude free...@allanjude.com wrote: I can see the remote controlled installer being especially useful for 'appliance' type devices, like FreeNAS, pfSense, FUDO, etc. How would your phone find the address of the machine once it boots off the USB, so you could access the web server? what apple does. I redeemed an itunes card to day.. and all I had to do was hold it up to the camera and it read the numbers off the card.. nice.. -a ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: BSD XXI Manifesto [agree] [intersting]
On 2/18/14, 3:28 PM, Wojciech A. Koszek wrote: (cross-posted message: eventual discussion let's keep on hackers@) Hello, After being disappointed with the list of submitted FreeBSD ideas, I created my own Machiavellist vision of XXI-century FreeBSD. I paste it below. If you want to add something, it's here: https://wiki.freebsd.org/BSD_XXI_Manifesto GSOC students could use this as an inspiration for their projects. The idea is to invite non-C, non-OS, non-kernel developers to help out with FreeBSD stuff. BSDXXI manifesto [nice stuff] removed for brevity I like all this.. I thought you meant XXI to mean the FreeBSD's 21st year but there is more than one year's worth of stuff there. I really suggest people seriously look at the list.. lots of really neat ideas. peole who are not necessarily C coders could do lots of this if we had a project to gather people under to do it. PCBSD people would be a core of interested people.. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: BSD XXI Manifesto [agree] [intersting]
On 2014-02-21 21:21, Julian Elischer wrote: On 2/18/14, 3:28 PM, Wojciech A. Koszek wrote: (cross-posted message: eventual discussion let's keep on hackers@) Hello, After being disappointed with the list of submitted FreeBSD ideas, I created my own Machiavellist vision of XXI-century FreeBSD. I paste it below. If you want to add something, it's here: https://wiki.freebsd.org/BSD_XXI_Manifesto GSOC students could use this as an inspiration for their projects. The idea is to invite non-C, non-OS, non-kernel developers to help out with FreeBSD stuff. BSDXXI manifesto [nice stuff] removed for brevity I like all this.. I thought you meant XXI to mean the FreeBSD's 21st year but there is more than one year's worth of stuff there. I really suggest people seriously look at the list.. lots of really neat ideas. peole who are not necessarily C coders could do lots of this if we had a project to gather people under to do it. PCBSD people would be a core of interested people.. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org I can see the remote controlled installer being especially useful for 'appliance' type devices, like FreeNAS, pfSense, FUDO, etc. How would your phone find the address of the machine once it boots off the USB, so you could access the web server? -- Allan Jude signature.asc Description: OpenPGP digital signature
Re: BSD XXI Manifesto [agree] [intersting]
On Fri, Feb 21, 2014 at 8:59 PM, Allan Jude free...@allanjude.com wrote: On 2014-02-21 21:21, Julian Elischer wrote: On 2/18/14, 3:28 PM, Wojciech A. Koszek wrote: (cross-posted message: eventual discussion let's keep on hackers@) Hello, After being disappointed with the list of submitted FreeBSD ideas, I created my own Machiavellist vision of XXI-century FreeBSD. I paste it below. If you want to add something, it's here: https://wiki.freebsd.org/BSD_XXI_Manifesto GSOC students could use this as an inspiration for their projects. The idea is to invite non-C, non-OS, non-kernel developers to help out with FreeBSD stuff. BSDXXI manifesto [nice stuff] removed for brevity I like all this.. I thought you meant XXI to mean the FreeBSD's 21st year but there is more than one year's worth of stuff there. I really suggest people seriously look at the list.. lots of really neat ideas. peole who are not necessarily C coders could do lots of this if we had a project to gather people under to do it. PCBSD people would be a core of interested people.. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org I can see the remote controlled installer being especially useful for 'appliance' type devices, like FreeNAS, pfSense, FUDO, etc. yes i agree the approach is nice. what is unfortunate is that sometimes these appliances are in environments where there is no [open] wireless access so one might consider bringing two usb sticks -- the disk image and a wifi. How would your phone find the address of the machine once it boots off the USB, so you could access the web server? I presume UPNP can come to help here. Otherwise the appliance can try and encode the information with one of the following methods (with a matching app on the phone): - with a QR code on the screen, if it has one; - playing tones on the speakers, if it has one; - flashing leds (e.g. some USB keys have 'activity' leds) cheers luigi ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: BSD XXI Manifesto [agree] [intersting]
On 21 February 2014 20:59, Allan Jude free...@allanjude.com wrote: I can see the remote controlled installer being especially useful for 'appliance' type devices, like FreeNAS, pfSense, FUDO, etc. How would your phone find the address of the machine once it boots off the USB, so you could access the web server? what apple does. -a ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
BSD XXI Manifesto
(cross-posted message: eventual discussion let's keep on hackers@) Hello, After being disappointed with the list of submitted FreeBSD ideas, I created my own Machiavellist vision of XXI-century FreeBSD. I paste it below. If you want to add something, it's here: https://wiki.freebsd.org/BSD_XXI_Manifesto GSOC students could use this as an inspiration for their projects. The idea is to invite non-C, non-OS, non-kernel developers to help out with FreeBSD stuff. BSDXXI manifesto For people seeking for inspiration here are some ideas of how FreeBSD of 21st century could operate... - FreeBSD boots from simple USB-stick image or SD card. Image would contain nothing more than HTTP-enabled installer, so that as OS updates are rolled out, the installer doesn't change. It means I can keep the same USB-stick for years, since all packages/installation procedure would actually be fetched from the Internet. - installer is in high-resolution mode with graphical environment started, and my bluetooth/remote-USB mouse/keyboard working OK. Additionally I have an access to the filesystem on USB-stick. I have Wi-Fi access and/or Ethernet access and a browser to do the installation. This all is in case I want to bother to use a keyboard. - installer starts HTTP server in the background. It serves responsive 'FreeBSD installer' website. You can enter this website with your smartphone and perform the whole installation procedure from your mobile device. This HTTP server is getting left of service partition, so that in case of problems, you can always boot FreeBSD in emergency mode and recover from problems. - installer asks me whether I'd like to use my FreeBSD account or to setup one. FreeBSD is similar to Apple ID or Amazon ID and remembers my preferences, so that in case of installation/backup/recovery I don't have to be asked same questions 10 times. This data is stored in an encrypted form on my disk, and gets imported by all programs that may ever want to ask me about my name/surname etc. This account is used to submit data about hardware which I use too, so that developers see which hardware is popular among users. This account is used for encrypted crashdump reports, bug reporting and others. This is the key to the contact with the FreeBSD developers community. Also as a part of the account users get easy access to 'BSDDEV' environment, which lets them clone, change and contribute back changes by themselves, without asking any commiters/developers for anything. They may later request this change to be pushed back to the FreeBSD. - installer asks me whether I'd like to pick certain profile of installation and install everything in 1 step. This is similar to 1 click buy on Amazon, and is similar to node.js npm manager -- dozens of users contribute their installation profiles to the FreeBSD portal, and FreeBSD accounts have access to these profiles. Everybody sees which installation profile has most Likes, and based on that users can choose whether to struggle with 100 parameters for the installation, or pick something that expert picked for them. Also desktop users willing to use Flash can pick freebsd_superflash installation profile, which will give them Flash working out of the box etc... - Among installation profiles, installer presents me: * mobile installation (cell phone) FreeBSD of XXI century runs on most of mobile devices, and this is one of the types of installation which I can pick for my tablet/smartphone. FreeBSD found great adoption in mobile environments, since BSD license attracted more people than GPLv4 code. FreeBSD has drivers for all sensors, GPSes and GSM/UMTS modules from phones. * laptop This profile installs me all possible optimizations for maximal power and maximal battery life, and minimal noise for any leftover laptops that still have a fan. * desktop This profile installs me everything for a desktop user. * VM (cloud solution: EC2, Rackspace etc) This installation may pick optimized I/O schedulers, so that environments which charge for I/O access, network access etc.. end up being cheap thanks to smart algorithms in FreeBSD. * hosted cloud This is a profile for enterprise users. Hosted installation is something which lets you designate a master, and slaves which connect to the master. Once slaves are connected, from 1 installer you can choose what all nodes will get installed and how they'll work. So e.g.: if you want to have a storage-cloud with 4 servers, you can make them be a redundant storage with 2 servers each, for improved efficiency. If servers are plugged in the same switch, I'd like to see them all in the menu and be able to toggle the ones which I want to be added to the cluster. - FreeBSD is getting setup in less than 5 minutes. All