Solved

Boot/Root Diskette(s) for COL 2.3 . . .

Posted on 2000-03-08
16
328 Views
Last Modified: 2013-12-15
We have been using Caldera OpenLinux (COL) for a number of years now, but for the sake of stability we have not tried to upgrade to the 2.2 kernel, until now.  Since we started this project, we have not been able to implement a boot/root diskette for it.

I have tried Slackware, Tom's Boot/Root, any instructions I could find on the Internet and for one reason or another I have failed to find any way of doing this.  Either the filesystems were incompatible, or I couldn't get the root file system to mount during the RAM disk part of the boot, or the lilo wouldn't work, after everything else did, or something.

This is EXTREMELY important to our business.  While we do only distribute less than 30 Caldera OpenLinux licenses a year, the inability to restore and recover the few hundred customers we have, by using a boot/root diskette set, will make it necessary for us to find a Linux publisher that CAN help us with this.  I hope this is not necessary.

We would rather NOT have to "retool" our whole operation, just for different Linux flavor.  Or WORSE!!!  A different UNIX flavor . . . yuugghhcchh!  We already tried this on SCO, before we settled on COL.

If anyone out there has a tried and true COL 2.3 compatible boot/root, please let me know; even if it's just reliable, tested instructions.

THANKS!

G.R.

0
Comment
Question by:otser
  • 10
  • 5
16 Comments
 
LVL 3

Expert Comment

by:freesource
ID: 2598833
You should try one more thing.  Give mkrboot a try:

http://www.debian.org/Packages/unstable/admin/mkrboot.html

Although this is found with the Debian distribution, it can be used with any distribution.  

Methods available:

loadlin -> Generates .zip-file to be used to boot from dos
kernel  -> Generates boot/rootdisk using the builtin kernel loader
fdos    -> Generates boot/rootdisk using fdos+loadlin
lilo    -> Generates boot/rootdisk for lilo
syslinux -> Generates boot/rootdisk for syslinux

If you have trouble using this program just ask, I can walk you through.
0
 
LVL 3

Expert Comment

by:freesource
ID: 2598846
You should try one more thing.  Give mkrboot a try:

http://www.debian.org/Packages/unstable/admin/mkrboot.html

Although this is found with the Debian distribution, it can be used with any distribution.  

Methods available:

loadlin -> Generates .zip-file to be used to boot from dos
kernel  -> Generates boot/rootdisk using the builtin kernel loader
fdos    -> Generates boot/rootdisk using fdos+loadlin
lilo    -> Generates boot/rootdisk for lilo
syslinux -> Generates boot/rootdisk for syslinux

If you have trouble using this program just ask, I can walk you through.
0
 
LVL 3

Expert Comment

by:freesource
ID: 2598860
Sorry, about reposting, I was going to give you a method to unpack a deb, but I jsut realized the source code is available from the link about.  But if you want a method to unpack a deb, just ask.
0
 
LVL 3

Expert Comment

by:freesource
ID: 2598862
about = above :)
0
 

Author Comment

by:otser
ID: 2599200
Dear (Mr./Mrs./Ms./Miss/Dr./General/Major/Captain/President/Mayor/Corporal/Senator/Congressman/Lord/Sir/Prince/Princess/Colonel/Admiral/Lieutenant/Sergeant . . . King ????) freesource:

Thank you, for that suggestion.  I have tried it and when it boots I get the error:

Kernel panic: No init found.  Try passing init= option to kernel.

I understand what is missing.  I don't understand why; and therefore I don't understand what the best thing is for me to do about it.

Please advise . . .

Thanks!

G.R.

0
 
LVL 3

Expert Comment

by:freesource
ID: 2599459
O.k., do you actually have the init executable in your root filesystem?

If you want to find out where this is happening in the kernel code look at the end of  ./linux-`uname -r`/init/main.c

You may be better off, separating your boot disk and root disk into two different disks.  The problem I want to focus on now is your design of the filesystem you are using for the root filesystem.
0
 

Author Comment

by:otser
ID: 2602057
Adjusted points to 800
0
 

Author Comment

by:otser
ID: 2602058
freescource:

I did actually solve that init problem, but what it all comes down to now is that that I actually can't fit everything on one diskette.

Do you know of a script like mkrboot, that is sophisticated enough to know how to make a boot/root/utility set?

I tried the 'yard' set, but it came with too much stuff that wasn't compatible and, even though it also came with fairly good instructions, I just didn't know how to make all the appropriate changes, to make it work for me.

Please advise . . .

Thanks!

G.R.
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 3

Expert Comment

by:freesource
ID: 2602133
Since you already have a root image made, I could write a perl script (similiar in function to mkrboot) which would accomplish what you are asking. Which method do you want, I am assuming lilo, right?
0
 

Author Comment

by:otser
ID: 2602185
Right, lilo.
0
 
LVL 3

Expert Comment

by:jyu_88
ID: 2608223
i'd just get a boot/root CD from linuxcentral.com. I used its an old version from last ALS on several occasions and are satisfied. Recently, they even have a new business-card-sized CD. some 50M of programs, allow you boot off it, set up network and run X too. They are giving it away to LUGs(linux user group).
0
 
LVL 3

Accepted Solution

by:
freesource earned 800 total points
ID: 2609820
O.k., here is the software:

http://the.netpedia/bootroot/boot_root

I haven't tested the bzip2 feature, yet, but it should work.  I'll implement size checking soon, but I thought you'd like to test it out now :)

Here's the documentation which is incorporated in the source code:

#  CHANGES  0.1 - 3.12.2000
#                 initial alpha release, will implement size test
#                 in next version.

#  What are the REQUIREMENTS?
#
#  Check to make sure you have thes things, in these directories or the
#  program won't work correctly:
#  /bin/{ash,gzip,mount,umount}
#  /sbin/init  (you better have this!)
#  /usr/bin/bzip2  (optional)

#  What does this program do?  
#
#  boot_root creates a boot disk with lilo, a kernel and an initrd image.
#  The initrd script mounts another root disk with a compressed (gzip or
#  bzip2) filesystem.
#  The filesystem isn't made by this program.  This program is patterned
#  after mkrboot, but unlike mkrboot creates an unique boot disk and a
#  separate root disk.

#  How can I test root_boot?
#
#  Get SETUP.GZ as the filesystem from looplinux at
#  http://www.tux.org/pub/people/kent-robotti/index.htm.
#  This filesystem works with 2.2 kernels.
#    
#  [Ctrl] ([Tab] to see available images)
#  lilo: bootdisk single [Enter]
#  ( now filesystem is single user mode)
#  exit [Enter]
#  (now you are in multi user mode)

#  What sort of configuration can I do?
#
#  Edit the variable $compress to either gzip (default) or bzip2.

#  How do I use the program?
#
#  program_name lilo linux-kernel compressed-filesystem
#
#  "lilo" is the only method supported at the present.
#
#  For instance .. "linux-kernel" could be:  /boot/vmlinuz-2.2.14  
#                  "compressed-filesystem":  /home/createit/my_creation.gz
#  (if found in same directory when running the program)
#                  "linux-kernel could be":  vmlinuz-2.2.14
#                  "compressed-filesystem":  my_creation.gz
#        
#  "device" could be /dev/fd0 (default) or /dev/fd1 .. etc.
#  "size" is usually 1440 (default)

# Edit to "gzip" or "bzip2"
$compress = "gzip";
0
 
LVL 3

Expert Comment

by:freesource
ID: 2609825
0
 

Author Comment

by:otser
ID: 2612872
Thank You!  Freesource:

Although I have not tried your solution yet, I trust you have done the correct research and testing, because you appear to have a firm grasp on the issues.

It may be a while, before I can confirm whether you solution suits all my requirements.  I have, in the interim, finally made the 'yard' solution work, although it still requires a lot of enhancement, before I can do everything I need to do with it.  Mostly I’m just struggling with how to add all the utilities I will need and how to do so in the most user-friendly (EXTREMELY  important) and elegant way possible.

I say this, because I will also be looking into your solution, to see if I can gain anything that will help me embellish the this boot/root set enough to do everything I need it to.  I will then publish my entire findings.  Maybe you can help me with suggestions about where to publish my findings, when I’m ready to do so.  I would like it to be of the most benefit to the most people.  I’m sure I’m not the only one who has ever had this problem.

Thank! Again . . .

G.R.

0
 
LVL 3

Expert Comment

by:freesource
ID: 2613474
I will be releasing this program at Freshmeat.  This is a good place to
publish things which benifit the Open Source community.  This program shows
people a good framework to setup initrd and load a compressed filesystem
into ram.  This program could even be modified so that it could load a
compressed filesytem from an alternative device.  Linuxrc could prompt a
user for this. I'll be adding some improvements, and I will let the program
develop according to people's needs.

Yard uses a different approach, it actually installs a boot sector sentinel
to the second disk.  Look at ./yard/extras/bsect.  Yard is nice in setting
up a root filesystem, but I am not sure I agree with their root disk
approach.  My program is easier to follow and customize in this respect, and
the bzip2 from initrd does work .. yard doesn't provide this feature.  So it
would be useful to make the root filesystem with yard (this is where yard
is really usefull), but then use my program to put together the disks :)

I, also, think that the Bootdisk-HOWTO needs to be updated somewhat.  It
describes how to dd a compressed filesystem to a second disk.  Apparently,
this works for some people, and I remember it worked for an older kernel I
used ... but, for 2.2.14 no matter how hard I tried, this approach failed.  
The kernel refused to load the compressed filesystem, but it didn't mind an
uncompressed filesystem.  Initrd solved this problem. But, you really should
be using initrd anways because it allows for pre-loading modules which is
useful for computer's with different types of hardware.
../Documentation/initrd.txt provides better reading about this.

0
 
LVL 3

Expert Comment

by:freesource
ID: 2624883
How's it going?

I've released BootRoot 0.2.  Do you like the name?  I may release this version at Freshmeat, so send me feedback.  Thanks.

Get it here:

http://the.netpedia.net/bootroot/boot_root.2

If you do write documentation about your experiences, another  good place to release it at would be as a HOWTO at http://www.linuxdoc.org.

#  CHANGES
#           0.2 -  3.16.2000
#                  * beta .. works nicely
#                  * automatic y when mke2fs on loop device
#                  * extra cleanup for aborted attempt
#                  * removed init from boot    
#                  * size check - will abort if cp or mkdir fail and
#                    output to find out how much space is left.
#                  * added normalboot to lilo for booting from normal disk -
#                    requires root=device otherwise will default to /dev/hda1
#                  * added a message with lilo
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

I am a long time windows user and for me it is normal to have spaces in directory and file names. Changing to Linux I found myself frustrated when I moved my windows data over to my new Linux computer. The problem occurs when at the command line.…
Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now