• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. Tom S
    3. Posts
    T
    • Profile
    • Following 0
    • Followers 1
    • Topics 0
    • Posts 42
    • Best 12
    • Controversial 0
    • Groups 1

    Posts made by Tom S

    • RE: Mac support

      I know I know, I am late…:) School is starting back up at work and I have a couple hundred teachers running around asking what their login passwords are. Needless to say, I have been busy dealing with stuff that makes my head hurt… ah the Academics

      Anyways, I have the source and binary ready for you all to test out. Since the file is larger than what is permitted on this forum I have posted it on Google Drive. Please understand that the source code is only in its infancy and much debugging is still needed. The zip file contains a dmg file with the actual compiled binary. The source is located in the src folder. I did not include any xcode projects as they are only a GUI wrapper for the bash scripts. I have included a readme file that I think is really important for any of you that are thinking about getting this going to read. Hopefully, as this community as already proven, we can collaboratively get this going so that it may be entered into Fog’s releases.

      I am not a proud man, so if the code needs rewriting or totally redoing, I do not care. I just hope people find it useful and helpful in getting true Mac support into fog.

      The zip file is located [URL=‘https://drive.google.com/file/d/0BxXg3SQONbFIRnhqNDJXeFBGYjA/edit?usp=sharing’]here[/URL]

      Thanks,

      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      Just about finished. I feel I just wasted a day working on FOGCrypt for os x. It seems that the way FOGCrypt encrypts is not very compatible with other AES encryption tools. It has to do with the way the stream is handled as well with the key and iv generation.

      @ Tom Elliott
      Previously you mentioned a major rewrite of the Fog service. was coming Is the FOGCrypt slated for a revamp as well? Possibly using a free library would work better than Window wrappers or using another encryption method like CBC. I could write another encryption tool using an openssl wrapper, but I would rather make the windows generated password cross platform.

      Thanks
      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      Ok so I have been working pretty hard on the OS X service!!! I have implemented most of the modules at this point. I am skipping the host screen resolution out for now (OS X is very picky about screen resolution and there is no native command for this, however there are gpl open source ones out there). I will need to add a new printer type to the PrinterManager page to support the OS X cups printer. I am going to start soon on the gui.

      @Tom Elliott
      When I send an action to usertracking.reports.php ( I am base64 encoding the info) everything seems to report fine but I get “Array” for the username. Any ideas? I have checked that the value of the user parameter is correct.

      Anyways I will have some uploads this weekend for you folks!!

      Thanks
      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      I am mostly looking at the responses from the fog server. I have a list of links awesome. I already have the hostname changer and LDAP binding done.

      Right now I am looking at the INI file. Are we going to keep these setting names?

      Thanks
      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      TAKE A BREAK.
      You have done a lot on Fog over the last few months!! I think we have some good areas to start testing with. Machine types, multicasting and everything else for macs. I am pulling all of my scripts together and comparing the logic between the Windows service and how it talks to fog. It will take me a few days to get things worked out but I can at least get the scripts all compliant with fog and then we can just worry about the service wrapper and gui!!!

      I hope that you are getting the praise you deserve for picking up this project and starting the fire under the fog community’s butt. Given the talents of the people using fog…skies the limit!!!

      Thank you Tom,

      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      [quote=“Tom Elliott, post: 34918, member: 7271”]For right now it’s only registered hosts. I have to think of the logic to get the non-registered hosts to join the task as I have to falsify a tasking much the same way capone falsify’s a tasking.[/quote]
      Call me crazy but could you…
      Select Join Multicast from ipxe. ipxe sends mac address to php. If not registered, php sends back to ipxe. ipxe asks for computer name. Enter in computer name and maybe os type. ipxe then asks for confirmation, then send back to php. Php creates host, then creates task for multicast session. Maybe protect the final step with fog username and password. Or possibly send client to fog.man.reg then onto multicast.

      I think this sort of registration process would be pretty cool!!

      When multicasting a large organization, as I am sure you know, knowing EXACTLY what machines will join the multicast session is impossible without touching machines multiple times. So being able to join any machine to multicast is I think key…

      Side note, as you said earlier the funcs.sh file still needs editing. If os is unknown, if I remember correctly it will fail!!

      Anyways awesome work Tom!!

      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      [quote=“Tom Elliott, post: 34911, member: 7271”]If you’d be willing TS, Can you try svn of fog?

      Test it out. There are a few bugs I’m aware of right now, such as the FOG Service stuff. Also, session password setting doesn’t work either. I’m still working that out. WHen I get it working all should be well.

      But give it a go. Most of my implementations have been based solely on adding the ability to join multicast sessions. This joining is only relevant from the session generated from the Image Management Page. You can only add hosts, right now, from the ipxe menu. There is a login required to get to the Multicast Join field to add some layer of security, but hopefully this will be okay. I don’t think we need the session password, necessarily, if we have the login parameter in effect. What do you think?[/quote]
      @Tom Elliott
      I agree with using the hide menu function in ipxe (username and password) if someone wants to password protect it. The name in a way is a password if you think about it.

      I will definitely check out the svn a little later. Does the current code allow for non-registered clients to join?

      Thanks,
      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      @Tom Elliot
      Your Java statements are 100% correct and valid. One thing Mac does well is supplying a shell acceptable way to manipulate almost every aspect of the machine’s configuration. Since the arrival of ARD, you can find scripts for almost everything. As far as using cron jobs for the fog service on os x and nix, I would steer more toward daemons. In os x, there are 4 levels of daemon. Ones that run when machine boots (via launchd) and ones that run at user login (launchctl). The naming, binding, and other administrative tasks would run as root in a daemon. The gui would run at user login.

      Would wget with https work for communication between server and client? If not, apple does supply some safari based C libraries.

      Printers. Since both nix and os x use cups, this should be pretty straight forward. I would suggest users supply a package file with the drivers or the actual ppd/gz file through the web gui. Install package or use wget to download ppd to printer/ppd folder and then run script to install printer.

      So if you all are ok with a bash daemon that periodically probes the fog server cool, I can start adapting my scripts to work with your current service pages on fog.

      Side note… same kind of service could install software too. Just sayin 😉

      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      [quote=“fractal13, post: 34855, member: 24300”]TS: The FOG service for Windows is under active development in C#. So, we won’t be using that code for OS X/Linux. I would encourage you to consider C. That will be at least a portable as Java, if we static compile it. It will be easy to write a simple service like you’re talking about being a wrapper for shell scripts. I could give you some boiler-plate networking code and give advice on invoking shell scripts from within, if you want it. This is something I’ve done in previous projects many times.
      Thanks for all of your help.[/quote]
      Fractal13
      I get what you are saying about using C. My only point was if I where to write it in java and got a working app, adding the windows version would a piece of cake and then fog would have a single executable for all os types one Maven or eclipse file rather than a VS project and an xcode project and a another for the various flavors of nix. I know a lot of people are not very happy with java so thats why I asked.

      Nonetheless I can write it in C and keep you all informed. Is an xCode project acceptable for submittal?

      I feel this forum proves why open source Rocks!!!

      Thanks,
      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      Ok so here is the requested diff file. I had to zip it in order to upload the file. So I hope this helps. I look forward in seeing the final product!!

      [url=“/_imported_xf_attachments/1/1260_joinMC.diff.zip?:”]joinMC.diff.zip[/url]

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      Sorry Tom. I did diff -u on my Mac. Maybe that’s the issue. I will reupload tonight

      posted in Feature Request
      T
      Tom S
    • RE: Bypass Host Registration

      I have implemented the above wiki post into fog 1.2+. I have submitted the files to Tom Elliot for review. I will keep people informed as I hear back from him in the future. I can certainly post the files here if people would like to test. Hopefully my code is up to par and can be added to the fog project in the near future

      Thanks,
      TS

      posted in General
      T
      Tom S
    • RE: Mac support

      So here are the changes made from 2124. I have been told in the past to omit comments in my diffs in other projects I have contributed to. Please let me know if you need more comments.

      So this is a serious hack. Most of the SQL calls do not use the fog api rather they use the php mysql commands. The Fog api kept denying my request to create tasks because of invalid MAC address issues. Also the main post function includes some sql “Alter” structure commands in order to edit the tables to fit the needs of the script.

      I am not proud of the overall structure of the patch files so if someone knows how to do it with the fog api…awesome.

      Please let me know if you have questions.

      Thank you,

      TS

      [url=“/_imported_xf_attachments/1/1254_diff.zip?:”]diff.zip[/url]

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      [quote=“fractal13, post: 34774, member: 24300”]Great news folks!

      Today Michael Brown finished the changes to iPXE to support Apple’s EFI implementation with the SNP (generic) network driver.

      This makes at least 3 hurdles that iPXE has cleared so that those of us who have to support Apple hardware will be able to use FOG for imaging. 1) Switch into text mode so we can see menus; 2) Get the linux kernel fixed so it doesn’t write to memory it doesn’t own; 3) Generic networking (important for iMacs in the last couple of years.).

      Kudos to Michael and the rest of the iPXE team!

      If you’re interested in being an alpha tester, follow this thread. In a few days we expect to need a variety of Apple hardware to finish testing the iPXE fixes (only tested on iMacs mid-2011, late-2012 so far), and begin testing the FOG features. We’ll make an additional post when ready.[/quote]
      I can supply you with the list of the macs I have confirmed working. Later this month as we finish up imaging our several thousand macs

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      OK so I have extensively tested out mac support for Fog. So far so good. Macbook Airs over WiFi no go though. Obviously… ipxe works but the kernel and ram disk do not have support for wifi support, maybe someday…:). The funcs.sh file still needs the Apple Mac OS added to the determine os function for the current fog init file to work, but that aside, everything works!!

      I finished the multicast patches I spoke of earlier and once I find the correct forum I will upload the diff files and link it back here.

      I did want to talk about the Fog service for Mac support. In my current profession I have written scripts that do what I can tell the Windows Fog service does, but for OS X. They are primarily bash scripts that can easily be piped from a C or another language. My question to everyone here is this:

      What language do we want the service built on???

      The obvious answer would be Obj-C, Apple’s native IDE platform. At the same time an argument could be for straight up C. My experience working for schools and businesses that I feel are closely related to the people of Fog, is that the device OS’s are all over the place, Windows XP, 7, Vista, 8, 8.1, OSX and linux thus requiring a new app project for each platform. I know that I find it a real pain writing for a half dozen os versions.

      Please forgive me as I say this next statement. Some people will want to shoot me on the spot but…what about a cross platform language like Java??? (Please do not hurt me;)) Please entertain an example.

      I wrote a bit of software for our devices that is written in Java called “iInstall.” This software calls out to my php server probing for a task, if it finds one it will download and install the software. The users can also authenticate against LDAP and install software provided to their group. We piloted this on Macs. It was written on Obj-C at first. Worked awesome, I was instructed to rewrite it for windows and nix. I looked at the actual tasks and thought “really the only change between os versions is the commands, not the logic. So why do I have to write the same logic 3 or 4 times?” I decided to rewrite the app in java. I used calls to get the os version and then adjust the commands for the verious versions. ( I sorry, I do not want to be known as the long email guy)

      So as we are looking at expanding fog to support Macs and in need for a Service to support OS X what do we do? I am happy to write in Obj-C or Java. It doesn’t matter to me, I just wanted to point my past experience in writing apps for the cross platform world.

      Thanks for the time,

      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      OK…after hours of researching the efi stubs and the ipxe boot process, I got macbooks 2007-2011 netbooting so far. It maybe common knowledge, but it was news to me.

      The VFS syncing error was totally the way iPXE handles memory mapping and the hand off of the init.xz file system.

      I was using the syntax to load the image in the boot menu as:
      [CODE]:img1
      kernel bzImage root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=< DNS IP> web=${fog-ip}/fog/ consoleblank=0 loglevel=4 type=down img=<IMAGE NAME> ftp=${fog-ip} imgType=n osid=7 storage=${fog-ip}:/images capone=1 imgFormat=2
      imgfetch init.xz
      boot || goto MENU[/CODE]

      But the only way I could get it to work was as follows:
      [CODE]:Img1
      imgfetch init.xz
      kernel bzImage.efi initrd=init.xz root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=${fog-ip} web=${fog-ip}/fog/ consoleblank=0 loglevel=4 type=down img= ftp=${fog-ip} imgType= osid=99 storage=${fog-ip}:/images mc=yes bypass=1 mSession=“”
      boot || goto MENU[/CODE]

      imgfetch needs to be first so that is add to memory first. Then add the kernel parameter with initrd=. The bzImage.efi is just a renamed bzImage. I think the previous pattern did not supply the name of the init file system. I could see that it was using the room in memory but the kernel just could not grab it…strange

      Nonetheless so far, no driver issues, no kernel issues. Current grab from git provides bootable 32 and 64 bit images and ipxe efi(64 bit only,I compiled the 32 Bit needed for 2007 and 2008 macbooks). I feel this is a good start.

      Thanks Tom and Fractal13 for getting the new binary up!!

      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      [quote=“Tom Elliott, post: 34517, member: 7271”]The VFS syncing error, how does this come out? Are you using the correct pairing? init.xz and bzImage should both be 64 bit. init_32.xz and bzImage32 should both be 32 bit. If you load 32 bit bzImage with 64 bit init.xz, or 64 bit bzImage with 32 bit init.xz, you will see this error.[/quote]

      Thanks for reply Tom,
      No my versions are correct, I have tested with the new files last night. The same pairing also works on cd boot of mac and the 30 Dell pcs I am imaging right now.

      I believe it has to do with ipxe and the bzImage. I changed the log level to 6 and can see that it sees the macbook devices and board info. It also can see my hard drive. It also talks to dhcp and gets an ip address. I think it just can’t see the /dev/ram0. Fractal13 said this had to do with a patch for the kernel. I have tried numerous variations of the config file for the kernel, adding and removing efi support settings, etc. Currently I am working on kernel 3.10.50.

      Thinking that is a memory issue I tried to add the ipxe Mem_map settings but the compiling fails. If at all possible, Fractal13 if you could provide your config files for the kernel and ipxe???

      (I should also mention I am testing on MacBook 5,2 and 5,1)

      I will continue to tinker…thanks,

      TS

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      fractal13,

      I am still getting the VFS syncing error. Are you using the TomElliott.configs? If so are you still using the firmware patch Fog recommends to use when building the kernel?

      Thanks,

      Tom

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      Great news!!! I will try out the ipxe source and let you all know!! Once I confirm the patches on my end I will test on macbook from 2007-2010, Mac pro 2009-2012, and macbook airs over WiFi.

      I will then pull from git the latest branch and diff my changes to submit to fog (multicast tweaks)

      I have most of my scripts ready for renaming and binding to domain as well. Just need to see how fog records those tasks. Then create the service.

      I love open source…look at what you have accomplish in such a sort time!!! Great job everyone

      Thanks,
      TS

      BTW
      Boot camp imaging works on Maverick and Windows XP. I will try 7 this weekend

      posted in Feature Request
      T
      Tom S
    • RE: Mac support

      [quote=“Tom Elliott, post: 34265, member: 7271”]Tom S,

      Can you post a diff -u of your fog.upload/fog.download? You said you already had it going. What OSID are you comparing it with? I’ve added osid 8 for Apple MAC OS. I just don’t know the best approach for the fog.down/upload files.[/quote]
      Of course Tom… I left my source files at work today…oops. I can get those to you tomorrow.

      If I might digress for a moment please.
      I have been working for school districts in a state where we provide a laptop for every 6, 7 and 8 grade students (State Law). I have seen lots of imaging solutions (ghost,Deploy Studio, JAMF amongst many others) and I really like fog. One thing that does drive me a little bonkers is multicasting. Making/editing groups and etc while you have a thousand devices to image is rather cumbersome. Whereas deploy studio and ghost allow you to just join a session.

      I recently stumbled across a fog wiki post explaining how to bypass the host registration so that one could join a multicast session by supplying its name ( just like ghost) but it was designed for version 0.32. I reworked the hack to be 1.1.2 compatible. Then I added hfs+ support which was adding 10 lines of code to func.sh and fog.upload. But really fog was setup to do the work it just needed to point partclone to use hfsp rather than imager. MPS disk works great. If finds GPT, creates disk1.mbr, and subsequent
      img files. The restoring process is the same old business. So long as you are not changing drives the firmware remembers default boot device

      To my point: I can send you the diff files but they contain more than just the os x support. I guess my question is, do you want to remove all but the changes needed to get os x support or would you like to see all my changes?

      Either way I am extremely happy to be able to help out with this.

      As far as the name… I have developer access to apple and I can tell you that the name scheme for Yosemite is OS X 10.10.x and already talks about OS X 10.11 are popping up. I asked one of the Apple Engineers assigned to our states 1 to 1 laptop program and he stated “the name is OS X Mavericks and OS X Yosemite versus just mountain lion, lion or leopard” So your naming of Apple Mac OS (8) is good!!

      Thanks

      -TS

      posted in Feature Request
      T
      Tom S
    • 1
    • 2
    • 3
    • 2 / 3