Custom init.gz
-
Found out that, the problem I’m seeing with the image upload process (as much as I can tell) is halting (resizable) because it’s referencing as kB. This in and of itself isn’t necessarily wrong, but when I try to manual create the disk partitions using parted, it tells me that 105905 (one byte behind part2start) is not valid for the partition. If I leave the end alone, it completes, but it isn’t the right size. It’s much smaller (part 1 that is) when it’s created using this particular method of parted. However, it successfully recreates the partition if I call the sectors: specifically, the sectors referenced are 206847 (partition one end) and 206848 is the start sector on the drive.
This method I can get rid of the need for the sleep commands, and all runs as expected. This is really weird to me, but it’s working as far as I can tell.
-
To add to the above,
My upload process with using Sectors works beautifully. However, the deploy process (which I have trouble with in both the original and my custom builds) does not work with single partition resizeable. However, it’s also not working with MPS, but that might be because I created the images using my custom build as that’s what I’ve been testing most frequently. I’ll find out later on. Still making progress and it’s a slow right. If you all can’t tell, I’ve not worked too much on the web interface in quite some time due to this. I will, however, try to get work done on it once I got this all figured out. In the mean time, I’ll work on tweaking the OS portion so it can be as small as possible, while still giving all of the needed elements a chance for us. I’m contemplating removing the partclone parts for now as it doesn’t build all the needed modules any what. It only creates:
partclone.restore
partclone.ntfsfixboot
partclone.info
partclone.chkimg
partclone.dd
fail-mbr.binI don’t know how to get it to build the [fstypes] of partclone executables, but I’ll work that out, hopefully in the future as well. Though we’re not using it right now anyway, so it’s not a huge thing.
-
Just a status update,
I am still having the problems with deploying, essentially, any image, but this is the same for the original init.gz file as well as mine.
It only images, during a download process, about 20%-35% then the system restarts. Sometimes the % complete is less, but generally speaking it just quits for some reason. I’m not seeing any errors pop up but that doesn’t mean that there isn’t any either.
Other than that, my init.gz is sitting around 6 MB, versus the 12-13MB of the original. So I think I’m doing well in piecing it back together. I think it’s missing a calculator function at this point though. I feeling like Dory from Finding Nemo, just keep trying, just keep trying …
It’s been a fun ride so far, if only a little frustrating, but at least I got one kink figured out. Yeah uploading single disk resizable!
-
I’m posting my buildroot file to have others play, test, figure out, as well.
Hopefully it’s all good.
[URL=‘https://mastacontrola.com/buildroot2013.08_FOG.tar.bz2’]https://mastacontrola.com/buildroot-2013.08_FOG.tar.bz2[/URL]
-
Nice work keep it up!
-
Thanks for the support.
-
Great work Tom
-
You’re welcome,
Hopefully it’s working good for you.
-
Alright, as I’m working on GUI lately, I’ve left buildroot alone for a little bit. I was finally able to build the partclone binaries on my system, but I can’t figure out how to get them built native to the buildroot process. For now, though I’ll just recreate the fogpartinfo within the fog.mk.
Though I’m sure we’ll have a need for these, eventually I’ll sit to figure this out. Remember I’m building on CentOS 6.4, and finding all the dependencies is not always that easy, I’m sorry. -
I think it’s starting to make sense, why, the init.gz file will not perform the upload task on Single Disk, Resizable. When the image is created, it does not take a snapshot of the MBR in use. This, by itself, is not the issue, but when you go to deploy the image, one of the first steps needed is to remove the partitioning schemes. This also removes the MBR, then it tries to create the new partitions, but the MBR that gets used doesn’t exist, so the system can’t see the second partition at all.
Just me two cents to help me in fixing this issue.
-
Hi
There are indeed some needed work both on the kernel and the init.gz script. However, we have to care not to break anything… As of now, I think we should have an option for 64 bits install… And perhaps add more libs & tools in it, though the latest version from SVN has already some really helpful tool. One thing that was removed, and broke compatibility was the probable removal of the “loadkeys” utility, that renders the FOG_KERNEL_KEYMAP useless.
I’m also a little bit confused about how the init.gz is generated from SVN… The doc to build a custom one is around here: [url]http://www.fogproject.org/wiki/index.php/Modifying_the_Init_Image[/url]
but I’m not sure I’ve found how to properly generate it in SVN from src/buildroot or what not… -
Gilou,
The src/buildroot files you’re seeing are only provided as an opensource tool to build your own initrd.gz (init.gz) file. When a user performs an install, the init.gz file is copied from the <folder_where_stored>/src/tftp directory which if you look in the tftp, you see the sub folders fog, kernel, images.
-
I know that, but my point is actually, how is it supposed to be used ? I didn’t look too far, but if we want to improve this, the toolchain should be documented
-
I’m attempting something dangerous I think.
I’m attempting to build a 64 bit init.gz, which of course will require a 64 bit kernel to go along with it. I’ll try to keep it posted here.
-
Well,
Good news/bad news time.
As I don’t know fully what I’m doing in creating this, I got the init.gz to actually run and operate with 64 bit capabilities. The kernel and init.gz were fully compatible. I didn’t notice anything major, except… all the libraries could not be found
-
Good news, sorta…
I got the libraries needed and the partclone is working. It isn’t giving the ncurses menu (the menu that shows the progress) but it is creating the (at least the sys file) right now. I haven’t tested the abilities for single disk resizeable, but I do have ntfs working on a multipart single disk image so far. I haven’t tested deploy, but at least upload seems to be working.
With this, the init.gz is very large comparitively to my previous version. By large, I mean it spiked from 6.1 mb from my original source to 30mb with all libraries attached. However, it has name resolution and even includes scp and ssh utilities.
-
Now I’m attempting to rebuild my tarball and have integrated the scripts to install the libraries needed automatically. This way I can just build it. It contains the original .config file for 32 bit builds and will require make ARCH=i386 to operate. If you try to build it with x86_64, it will most likely fail on the uclibc steps as there’s no directory for lib64 libraries in uclibc. I’m still testing so don’t attempt it yet, but the fix seems to be switching from uclibc to eglibc (experimental) for this. I’m still testing though but thinking this is the best method so far.
-
I’m running into some weird issues that is, I think, requiring me to perform a debian based build process. Partclone is almost entirely only supported (building the source this is) on debian. I think part of my issues so far is because it’s requiring shared libraries (being built without --enable-static) however if I try to run build with --enable-static, it fails miserably on CentOS 6.4 64 bit and i386 bit.
I’m just trying to get a hand at what’s happening.
-
Hi Tom keeping a close eye on ur work on the init.gz I really like where ur going with it. give us a shout when it ready for testing.
[SIZE=6][B]Thanks for all your hard work ;)[/B][/SIZE] -
There’s quite a few modifications from the 2011.08 package that FOG 0.33b is built on.
First things first, if you’re going to try updating it, make sure you have a debian system (vm or not) to build partclone on.
To build partclone I use:
Download the partclone you want. I’m using partclone_0.2.58.orig.tar.gz
Extract the file:
[code]tar -xzf partclone_0.2.58.orig.tar.gz[/code]Prep the system.
[code]echo “deb http://free.nchc.org.tw/drbl-core drbl dev stable testing unstable” >> /etc/apt/sources.list
echo “deb-src http://free.nchc.org.tw/drbl-core drbl dev stable testing unstable” >> /etc/apt/sources.list
apt-get update
apt-get build-dep partclone
cd partclone-0.2.58/[/code]Begin the Makefile creation: If you arch is already i386/i686 this will work.
[code]./configure --enable-static --enable-xfs --enable-btrfs --enable-ntfs --enable-extfs --enable-fat --enable-hfsp --enable-static --enable-ncursesw[/code]I don’t know what kinds of problems you’ll run into, so I’m going to just assume for now that you’re on i386 debian.
Build the binaries:
[code]make[/code]Once complete, change to the src directory of partclone.
[code]cd src[/code]Now copy the partclone files to your buildroot fog folder: (I think it something like below)
[code]for i inls|grep ^partclone\\\.|grep -v \\\.c$|grep -v \\\.h$|grep -v \\\.o$
; do cp $i ~/buildroot-2013.08.1/package/fog/partclone/; done[/code]Your partclone binaries should be ready for use on the init.gz system now.