Discussion:
Unattended: build from source
Juanjo Pablos
2011-06-06 11:45:32 UTC
Permalink
Hello Juanjo,
I've tried to build linuxboot from the trunk on Ubuntu 11.04 and got a
lot of problems. I've resolved some of them but haven't manage to
resolve others (for example I couldn't build busybox 1.15.3). It seems
isn't easy to care about building all stuff from sources. What do you
think about using existent build system? For example Arch linux. I
think It could save a lot of time.
Best regards,
Stanislav
Hi,
Everytime someone comes an submit a patch so it builds on their
platform, I am happy to apply as long as it does not break mine.

I am using debian for building from source. There is already a task open:

https://sourceforge.net/apps/trac/unattended/ticket/2


But no one actually got it running, If you have something that is more
or less working I do not have a problem testing and replacing.
Timothy J Massey
2011-06-06 16:12:33 UTC
Permalink
Post by Juanjo Pablos
Hello Juanjo,
I've tried to build linuxboot from the trunk on Ubuntu 11.04 and got a
lot of problems. I've resolved some of them but haven't manage to
resolve others (for example I couldn't build busybox 1.15.3). It seems
isn't easy to care about building all stuff from sources. What do you
think about using existent build system? For example Arch linux. I
think It could save a lot of time.
Best regards,
Stanislav
Hi,
Everytime someone comes an submit a patch so it builds on their
platform, I am happy to apply as long as it does not break mine.
I was able to successfully build an ISO from source, but only with very
ugly by-hand hacks and tweaks on CentOS 5. This was documented painfully
completely by me in a couple of e-mails to the list about a month or so
ago.
Post by Juanjo Pablos
https://sourceforge.net/apps/trac/unattended/ticket/2
But no one actually got it running, If you have something that is more
or less working I do not have a problem testing and replacing.
The idea of reengineering the entire boot CD creation process is not
appealing to me, especially considering my *very* modest needs. I just
want a boot CD that doesn't require user input. Now that we've fixed my
booting problems, I don't even need to build my own CD to do that. I can
modify the stock ISO to achieve that.

But now that I've got a build process working, I will probably stick with
my custom CD for this year. It has a big advantage in reducing the
timeout for missing Broadcom firmware from 60 seconds to 1 second.
Incidentally, seeing as firmware loading is broken on the CD, I'm not sure
why the default isn't reduced anyway...

All I want out of the build process is a way to easily remove DOSEMU
seeing as most of my by-hand hassles are caused by it not building with
the same version of GCC as everything else--and seeing as I don't use
DOSEMU, you would think that would be easy. But it's not. So, I deal
with my convoluted build process.

Timothy J. Massey


Out of the Box Solutions, Inc.
Creative IT Solutions Made Simple!
http://www.OutOfTheBoxSolutions.com
***@obscorp.com

22108 Harper Ave.
St. Clair Shores, MI 48080
Office: (800)750-4OBS (4627)
Cell: (586)945-8796
Juanjo Pablos
2011-06-06 17:19:15 UTC
Permalink
Post by Timothy J Massey
The idea of reengineering the entire boot CD creation process is not
appealing to me, especially considering my *very* modest needs. I just
want a boot CD that doesn't require user input. Now that we've fixed
my booting problems, I don't even need to build my own CD to do that.
I can modify the stock ISO to achieve that.
I have just upload a 4.9 release here:
https://sourceforge.net/projects/unattended/files/unattended/4.9/
as far as I know there is no need for user input.
Post by Timothy J Massey
But now that I've got a build process working, I will probably stick
with my custom CD for this year. It has a big advantage in reducing
the timeout for missing Broadcom firmware from 60 seconds to 1 second.
Incidentally, seeing as firmware loading is broken on the CD, I'm not
sure why the default isn't reduced anyway...
I have no idea what are you talking about.. sorry.
Post by Timothy J Massey
All I want out of the build process is a way to easily remove DOSEMU
seeing as most of my by-hand hassles are caused by it not building
with the same version of GCC as everything else--and seeing as I don't
use DOSEMU, you would think that would be easy. But it's not. So, I
deal with my convoluted build process.
I thought that this line could fix your problem:
"Default", ntinstall_cmd,nt5x-install
Timothy J Massey
2011-06-07 20:48:30 UTC
Permalink
Post by Juanjo Pablos
Post by Timothy J Massey
The idea of reengineering the entire boot CD creation process is not
appealing to me, especially considering my *very* modest needs. I just
want a boot CD that doesn't require user input. Now that we've fixed
my booting problems, I don't even need to build my own CD to do that.
I can modify the stock ISO to achieve that.
https://sourceforge.net/projects/unattended/files/unattended/4.9/
as far as I know there is no need for user input.
My server name and share name do not match the CD, for one thing, and I
have multiple client packages available. Therefore, I have to have
customized CD's if I want it to be fully automatic. This will actually be
the first year I will achieve that! :)
Post by Juanjo Pablos
Post by Timothy J Massey
But now that I've got a build process working, I will probably stick
with my custom CD for this year. It has a big advantage in reducing
the timeout for missing Broadcom firmware from 60 seconds to 1 second.
Incidentally, seeing as firmware loading is broken on the CD, I'm not
sure why the default isn't reduced anyway...
I have no idea what are you talking about.. sorry.
The driver for Broadcom NIC's request that updated firmware be loaded into
them. The ISO does not support loading firmware (it requires
hot-plug/udev), so it fails, but not until after waiting for a long
timeout (60 seconds, IIRC). Fortunately, they have on-board firmware, so
they still work, but the pause is very annoying, especially if I have to
type something in.

To avoid this, I manually set the kernel firmware loading timeout to 3
seconds. Seeing as firmware loading doesn't work anyway, I'm not sure why
the default isn't shorter.

I don't have easy access to the server right now, but here's what I have
in my notes: in misc/master, immediately after the line:
echo "*** Next, we'll look for PCI Ethernet hardware...:

Add the following:

echo "First, let's try to reduce the firmware delay..."
echo 3 > /sys/class/firmware/timeout
Post by Juanjo Pablos
Post by Timothy J Massey
All I want out of the build process is a way to easily remove DOSEMU
seeing as most of my by-hand hassles are caused by it not building
with the same version of GCC as everything else--and seeing as I don't
use DOSEMU, you would think that would be easy. But it's not. So, I
deal with my convoluted build process.
"Default", ntinstall_cmd,nt5x-install
This is the first I've heard of it. I assume I'm supposed to remove the
"ntinstall_cmd," part? I'll try it on Thursday.

Timothy J. Massey


Out of the Box Solutions, Inc.
Creative IT Solutions Made Simple!
http://www.OutOfTheBoxSolutions.com
***@obscorp.com

22108 Harper Ave.
St. Clair Shores, MI 48080
Office: (800)750-4OBS (4627)
Cell: (586)945-8796
Juanjo Pablos
2011-06-09 14:20:45 UTC
Permalink
I have multiple client packages availabl
I have about 60 packages. But I do not know how cuold be the best way
to share /update if they are on the same directory as the "official"
scripts.
Timothy J Massey
2011-06-25 03:13:07 UTC
Permalink
Post by Juanjo Pablos
Post by Timothy J Massey
The idea of reengineering the entire boot CD creation process is not
appealing to me, especially considering my *very* modest needs. I just
want a boot CD that doesn't require user input. Now that we've fixed
my booting problems, I don't even need to build my own CD to do that.
I can modify the stock ISO to achieve that.
https://sourceforge.net/projects/unattended/files/unattended/4.9/
as far as I know there is no need for user input.
While it is possible to use the CD without requiring user input, there are
certain things that the CD configuration requires (such as the name of the
server) that are not easy to do with our environment. Therefore, the
default CD has always required user input for us, for reasons that are
hard-coded into the CD.
Post by Juanjo Pablos
Post by Timothy J Massey
But now that I've got a build process working, I will probably stick
with my custom CD for this year. It has a big advantage in reducing
the timeout for missing Broadcom firmware from 60 seconds to 1 second.
Incidentally, seeing as firmware loading is broken on the CD, I'm not
sure why the default isn't reduced anyway...
I have no idea what are you talking about.. sorry.
Some NIC drivers expect to be able to load firmware into the device.
Broadcom devices are such ones. The systems we are loading have Broadcom
NIC's. They therefore pause for a long time (60 seconds? more?) waiting
for firmware to materialize. Unfortunately, firmware loading requires
hotplug and udev, which the boot CD does not seem to use. In other words,
AFAICT, firmware loading is impossible with the boot CD. So why are we
waiting?

So, we set the firmware timeout to 1 second.
Post by Juanjo Pablos
Post by Timothy J Massey
All I want out of the build process is a way to easily remove DOSEMU
seeing as most of my by-hand hassles are caused by it not building
with the same version of GCC as everything else--and seeing as I don't
use DOSEMU, you would think that would be easy. But it's not. So, I
deal with my convoluted build process.
"Default", ntinstall_cmd,nt5x-install
Not how to *use* the nt5x install. How do we modify the Makefile to
*avoid* compiling DOSEMU? DOSEMU breaks the compile, so we would like to
avoid compiling it. I haven't been able to figure out how to remove it
from the compile process.

Timothy J. Massey


Out of the Box Solutions, Inc.
Creative IT Solutions Made Simple!
http://www.OutOfTheBoxSolutions.com
***@obscorp.com

22108 Harper Ave.
St. Clair Shores, MI 48080
Office: (800)750-4OBS (4627)
Cell: (586)945-8796
Stanislav German-Evtushenko
2012-09-13 10:03:52 UTC
Permalink
Hello Juanjo, hello everybody,

I have some ideas to make unattended architecture simpler so that
unattended could be easier improved in future. Idea is to separate
completely boot disk and installation scripts. That would allow to use
installation scripts on any Linux distribution just like an application.

I've made some tests and and found such kind of separation possible.
What has been done. I make some dirty modifications to scripts in order to
run it from Ubuntu LiveCD and it works! I was not clear job and was done
only to see if was possible.

Configuration:
Installer: nt5x-install
Server name: ntinstall.company.lan mounts with user "guest"
Network path: \\ntinstall.company.lan\install
Boot CD: Ubuntu 12.04 Desktop (LiveCD)

Steps to reproduce (patch files are attached):
*********************************************************************
# Set variables
Z_PATH=//ntinstall.company.lan/install
Z_PATH=${Z_PATH//\//\\}
export Z_PATH
export Z_USER=guest
export Z_PASS=guest

# Create dirs
mkdir /z
mkdir /c

# Create some symlinks
ln -s /usr/bin/lspci /sbin/lspci
ln -s /dev/sda /dev/dsk
ln -s /dev/sda1 /dev/dsk1

# Mount network directory
mount.cifs "$Z_PATH" /z

# Download boot sector binaries and necessary scripts
wget -O /usr/lib/freedos-mbr.bin
http://unattended.svn.sourceforge.net/viewvc/unattended/trunk/linuxboot/misc/freedos-mbr.bin
wget -O /usr/lib/unatt-functions.sh
http://unattended.svn.sourceforge.net/viewvc/unattended/trunk/linuxboot/misc/unatt-functions.sh
wget -O /usr/bin/nt5x-install
http://unattended.svn.sourceforge.net/viewvc/unattended/trunk/linuxboot/misc/nt5x-install;
chmod +x /usr/bin/nt5x-install
mkdir /usr/lib/ntldrbin
wget -O /usr/lib/ntldrbin/ntldr_boot_code_install
http://unattended.svn.sourceforge.net/viewvc/unattended/trunk/linuxboot/misc/ntldrbin/ntldr_boot_code_install
wget -O /usr/lib/ntldrbin/ntldr_boot_code_sektor0
http://unattended.svn.sourceforge.net/viewvc/unattended/trunk/linuxboot/misc/ntldrbin/ntldr_boot_code_sektor0
wget -O /usr/lib/ntldrbin/ntldr_boot_code_sektor12
http://unattended.svn.sourceforge.net/viewvc/unattended/trunk/linuxboot/misc/ntldrbin/ntldr_boot_code_sektor12

# Modify install.pl and master
cp /z/dosbin/install.pl /tmp
patch -i /tmp/install.pl.patch /tmp/install.pl
wget -O /tmp/master
http://unattended.svn.sourceforge.net/viewvc/unattended/trunk/linuxboot/misc/master
patch -i /tmp/master.patch /tmp/master; chmod +x /tmp/master

# Run master
chmod +x /tmp/master
/tmp/master
*********************************************************************

What about creation a new branch for this job?

Best Regards,
Stanislav

Loading...