1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

FreeBSD customization tools

Discussion in 'FreeBSD Development' started by delusion777, Dec 5, 2011.

  1. delusion777

    delusion777 New Member

    Messages:
    5
    Likes Received:
    0
    Hi

    I would like to know if I could get your assistance on something im struggling with. I am currently working with a programmer on trying to develop a communications system server (it's going to be hardware-based) and we would like to use FreeBSD as the base operating system and running our applications on top of it.

    Since this is going to be a client/server architecture I would like to know if there is any info on modifying the freebsd FreeBSD OS in order to suit us in terms of what's part of the OS and how we can build stuff within it such as a voice server etc. Would it be possible to get some guide or something on modifying this?

    I hope this makes sense, sort of like cusotmizing your linux distro (I know the differences between FreeBSD and linux so please, no flaming :r) similar to suse stuido.

    Thank you so much for your help in advance!
     
  2. SirDice

    SirDice Moderator Staff Member Moderator

    Messages:
    17,392
    Likes Received:
    7
    There's a strict separation between the base OS and the ports. In your case you would probably need to create a port.

    I'm not sure what 'modifications' you're looking for but I doubt the base OS will need to be modified.
     
  3. fluca1978

    fluca1978 New Member

    Messages:
    733
    Likes Received:
    0
    If I get it right you want to customize the installation of a FreeBSD system. I've never done it, but I would suggest to have a look at the PC-BSD installer, which can be customized and automated and can install also a "pure" FreeBSD system.
    This could help.
     
  4. delusion777

    delusion777 New Member

    Messages:
    5
    Likes Received:
    0
    Yeah this is basically the info I was looking for. I was hoping the base OS didn't really need to be modified at least for now though. Thanks for the responses. Problem is I'm based in South Africa and there aren't programming firms here that I find can code what I need, so I'm looking at outsourcing.

    Does this mean that all features I need for the operating system have to be created in the form of ports?
     
  5. wblock@

    wblock@ Administrator Staff Member Administrator Moderator Developer

    Messages:
    11,205
    Likes Received:
    15
    Ports are generally add-on applications, not modifications to the operating system itself. There are lots of ways of modifying and packaging the operating system. The right one for you will depend on what is being done. Some examples of customized versions of FreeBSD are pfSense, FreeNAS, and PC-BSD. There's also nanoBSD, a way to build a small, embeddable version of FreeBSD.
     
  6. SirDice

    SirDice Moderator Staff Member Moderator

    Messages:
    17,392
    Likes Received:
    7
    Yes, you can also create 'custom' installs of FreeBSD. Have a look at release(7) and the scripts in /usr/src/release/.
     
  7. delusion777

    delusion777 New Member

    Messages:
    5
    Likes Received:
    0
    Alright, well, if you have seen Microsoft Lync, it's a similar system with a few mods and will be a hardware-based platform. I hope this helps?

    If you haven't seen Lync, check out http://en.wikipedia.org/wiki/Microsoft_Lync.

    But the main features include voip, video, IM etc. I've seen Lync (set up the whole server + client side) and it's okay, but there's quite a few things that Microsoft has done that can be changed to improve the entire system.

    I do know that this is a huge project as I'm told by a lot of people, because of maintenance even after the the system is written.

    So i guess the question is, how to go around planning a system like this using BSD?
     
  8. SirDice

    SirDice Moderator Staff Member Moderator

    Messages:
    17,392
    Likes Received:
    7
    I guess this can be done using a custom install script. This functionality already exists. You can tell the installer which parts of the base OS you need and which additional ports will need to be installed.

    Have a look at sysinstall(8) and /usr/src/usr.bin/sysinstall/install.cfg.
     
  9. segfault

    segfault Member

    Messages:
    130
    Likes Received:
    0
    My company just started using Microsoft's Lync and I find it quite lame. It is clunky and boy is it ugly.
    Would be nice to see a FreeBSD varient done right.
    Best of luck on it!
     
  10. wblock@

    wblock@ Administrator Staff Member Administrator Moderator Developer

    Messages:
    11,205
    Likes Received:
    15
    Except sysinstall is on life support...

    After the complete embedded application works on a development system, it needs to be squeezed onto some type of media to go into the target hardware. NanoBSD can do that, or a custom script can do it too. But while final packaging might be nontrivial, it's secondary to developing the actual application.
     
  11. SirDice

    SirDice Moderator Staff Member Moderator

    Messages:
    17,392
    Likes Received:
    7
    And rightfully so. Thought about this too but couldn't find the right documentation for the new system.

    Regardless, 8.2 is going to be around for a while. Not sure what 8.3 will be using but I suspect 8.x will keep sysinstall(8). While 9.x will use the new system.

    For stability reasons I would base the system on 8.x, 9.0 is just too new.
     
  12. delusion777

    delusion777 New Member

    Messages:
    5
    Likes Received:
    0
    Wow thanks for all the feedback guys, really appreciate it.

    Yeah, this is what i want to get around lol, i used Lync for a while and i found it rubbish, so i came up with quite a few things eventually it became too big just to label an improvement. :D

    From a developer’s perspective, what do you think the Base OS would require besides the usual networking tools. Does FreeBSD offer load balancing amongst different systems. Sort of like the HA stuff out there or simple cluster support? And how far does it span?
     
  13. mix_room

    mix_room Member

    Messages:
    588
    Likes Received:
    0