Skip to main content
Tweeted twitter.com/StackSoftEng/status/910226794216861698
Rewording to keep in site scope
Source Link
Joe Baker
  • 406
  • 5
  • 10

I'm working on a hardware product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

AreIs there any tools meanta type of tool for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen fortried looking at configuration management tools and everything I've found has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really whatdoesn't fit the embedded hardware use case very well. I wantfeel like I'm searching for the wrong thing.

I'm working on a hardware product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Are there any tools meant for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen for management tools has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really what I want.

I'm working on a hardware product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Is there a type of tool for managing an OS configuration like this or at least some best practices I can implement? I've tried looking at configuration management tools and everything I've found has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which doesn't fit the embedded hardware use case very well. I feel like I'm searching for the wrong thing.

added 9 characters in body
Source Link
Joe Baker
  • 406
  • 5
  • 10

I'm working on a hardware product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Are there any tools meant for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen for management tools has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really what I want.

I'm working on a product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Are there any tools meant for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen for management tools has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really what I want.

I'm working on a hardware product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Are there any tools meant for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen for management tools has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really what I want.

clarified current process
Source Link
Joe Baker
  • 406
  • 5
  • 10

I'm working on a product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Are there any tools meant for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen for management tools has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really what I want.

I'm working on a product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Are there any tools meant for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen for management tools has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really what I want.

I'm working on a product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is version controlled like a normal standalone software project.

I'm stuck on how to manage and version control the OS configuration itself. In order to load the OS onto a newly built machine, we have a stored master image file of the entire filesystem (a single ~4GB file backed up onto a network drive). It does need to be in that format to install. This leaves me with no version control over a variety of important things such as:

  • Installed version of the Python software.
  • Debian version and kernel version.
  • Third party libraries and hardware drivers which have been installed.
  • Important system configuration files (Device Tree sources, rc.local, etc)

As I work on debugging my custom hardware, this is getting especially concerning because I'm poking and prodding at config files with no version control.

Are there any tools meant for managing an OS configuration like this or at least some best practices I can implement? Everything I've seen for management tools has been targeted at more of an IT sysadmin kind of application to manage fleets of in-use computers which isn't really what I want.

Source Link
Joe Baker
  • 406
  • 5
  • 10
Loading