Find the answer to your Linux question:
Results 1 to 7 of 7
Hi! I am totally a linux newbie, I need to build a linux installer with custom packages. I tried using buildroot to build the OS and was able to compile ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    May 2011
    Posts
    12

    Linux newbie, need help building an installer from source..


    Hi!

    I am totally a linux newbie, I need to build a linux installer with custom packages. I tried using buildroot to build the OS and was able to compile one but my problem is I don't know how to make an installer out of it and how to integrate the packages. Need help..

  2. #2
    Just Joined!
    Join Date
    Jan 2011
    Location
    Fairfax, Virginia, USA
    Posts
    94
    Hi pizarro84,
    Congratulations getting buildroot to compile if your new to Linux. Its usually pretty difficult getting it to work like you want.

    The idea behind buildroot is to create a filesystem tree and some packaged formats of that tree for you. From my perspective, its usually used for smaller embedded systems but things might have changed since I used it last. It creates some packaged formats for you including a filesystem image that you can directly use to mount the new filesystem, cpio archives used for an initrd filesystem and some other things more suited for embedded development.

    The last I checked, it wasn't really suited for a full blown installer. As far as I know, full installers are based on individual packages (like RPMs for instance) so you can choose and customize packages to install. This doesn't mean that you can't do it, it just means its a bit more difficult.

    I'm assuming your doing an x86 or an x86_64 based installation. In that case, at a minimum you need to lay down a filesystem with all its preconfigured components, install the boot loader in the MBR and do some optional post installation configuration (like setting the timezone for instance). The last step is the easiest and can be done with a bash script wired to be invoked once. The first two steps are more difficult and I'd recommend using something already developed for it. I'm pretty sure (but might be wrong), the busybox based buildroot doesn't include this so you'll need to go out and incorperate it into your OS.

  3. #3
    Just Joined!
    Join Date
    May 2011
    Posts
    12
    Thanks for the tips, actually I'm trying to build an embedded x86 linux custom packages that can be installed in a desktop. Anyway I'll try those methods and hopefully I get it right.

  4. $spacer_open
    $spacer_close
  5. #4
    Linux Newbie glene77is's Avatar
    Join Date
    Dec 2009
    Location
    Memphis, TN
    Posts
    125
    Quote Originally Posted by pizarro84 View Post
    Thanks for the tips, actually I'm trying to build an embedded x86 linux custom packages that can be installed in a desktop. Anyway I'll try those methods and hopefully I get it right.
    Pizarro,
    buena suerte

    Tell more about your target .

    Have you checked TinyCore ? Perhaps an existing "small system" will fit the bill.
    What do you mean when 'you' say "embedded" ?
    Do you mean copying programs into a C:/subdir without any real installation ?
    How do you plan to activate your little embedded OS ?
    Ubuntu will install as a .EXE named WUBI inside of XP C:/
    and then activate from the XP shell. No XP bootloader changes.

    So, more info please.
    Sounds interesting.


    ************************************************** **********************************************

    I have installed TinyCore several times, by simply making the subdir /tc and /tce
    then copying the system files from CD into these subdir.
    You will have to have a multi-bootloader such as grub4dos.

    glene77is

  6. #5
    Just Joined!
    Join Date
    May 2011
    Posts
    12
    Quote Originally Posted by glene77is View Post
    Pizarro,
    buena suerte

    Tell more about your target .

    Have you checked TinyCore ? Perhaps an existing "small system" will fit the bill.
    What do you mean when 'you' say "embedded" ?
    Do you mean copying programs into a C:/subdir without any real installation ?
    How do you plan to activate your little embedded OS ?
    Ubuntu will install as a .EXE named WUBI inside of XP C:/
    and then activate from the XP shell. No XP bootloader changes.

    So, more info please.
    Sounds interesting.


    ************************************************** **********************************************

    I have installed TinyCore several times, by simply making the subdir /tc and /tce
    then copying the system files from CD into these subdir.
    You will have to have a multi-bootloader such as grub4dos.

    glene77is
    Hi there! Thanks for your interest in my topic. What I actually need to do is create a linux bootdisk to be used as a host OS and install linux (bare linux, no GUI/flavor) to a bare system from that host using internet connection to download packages (I am not actually sure about the embedded stuff although it is how it was explained to me as the task was given, by the way I will be using the Installer for my internship task ). I need to turn it into an ISO tho..

    The bootdisk requires internet connection, disk partitioning utility (such as Fdisk) and drivers for IDE,SCSI and SATA (I red that linux kernel have drivers of its own and does not access basic drivers from bios, correct me if i am wrong) and wget. My current plan is to write all the commands from linux from scratch and compile it into one executable program (with a simple interface for the parameters), and include it at the startup of my linux bootdisk.. Will this work?

    Thanks in advance

  7. #6
    Linux Newbie glene77is's Avatar
    Join Date
    Dec 2009
    Location
    Memphis, TN
    Posts
    125
    Pizarro,
    Here is my opinion.

    Quote Originally Posted by pizarro84 View Post
    Hi there! Thanks for your interest in my topic. What I actually need to do is create a linux bootdisk to be used as a host OS and install linux

    (bare linux, no GUI/flavor)
    >>> Sounds like TinyCore / MicroCore Linux. Google TinyCore
    >>> TinyCore has a minimal gui. MicroCore is CLI (command line interface).
    >>> Both have just about no installed packages.
    >>> Both do auto-eth0 attach to inet, to allow their application-package loader to run.
    >>> Both, you have to select any packages to load.
    >>> Both have Linux Core OS less than 11 MegaBytes.

    to a bare system from that host using internet connection to download packages
    >>> Both do auto-eth0 attach to inet, to allow their application-package loader to run.

    (I am not actually sure about the embedded stuff although it is how it was explained to me as the task was given, by the way I will be using the Installer for my internship task ).
    I need to turn it into an ISO tho..
    >>> I have used the Linux command "dd" to copy from a CD into a HD file as xxx.ISO.
    >>> The original CD was a Live-CD,
    >>> and the resulting ISO was burned to another CD
    >>> which then functioned properly as a new Live-CD.

    The bootdisk requires internet connection, disk partitioning utility (such as Fdisk) and drivers for IDE,SCSI and SATA (I red that linux kernel have drivers of its own and does not access basic drivers from bios, correct me if i am wrong) and wget.
    >>> sounds like typical Linux stuff.
    >>> Both do auto-eth0 attach to inet, to allow their application-package loader to run.
    >>> Unless you have a home-made HD, or maybe an 8" floppy drive, Linux will detect OK.
    >>> Suggest you use some gParted package for partitioning,
    >>> such as Parted_Magic Live-CD,
    >>> unless the assignment requires a CLI like Fdisk.

    My current plan is to write all the commands from linux from scratch and compile it into one executable program (with a simple interface for the parameters), and include it at the startup of my linux bootdisk.. Will this work?
    >>> Sounds like you will be using C++, and combining with BASH scripting.
    >>> Project sounds doable, albeit past my ability.
    >>> I do BASH scripting, (which is a night-mare)
    >>> and have many years designing / handling relational database
    >>> with M$ and VisualFoxPro.
    >>> Last few years with Linux have been very interesting, but I have different tools.

    Thanks in advance

    Pizarro,

    I am running TinyCore, 10.3 Megabytes of core in USB flash drive first partition,
    with 350 Megabytes of applications downloaded to a second partition on USB flash drive.
    Then, Using the TinyCore Application-Loader,
    Have downloaded FireFox, Libre-Office, etc which I use.

    TinyCore is on a USB flash drive along with Puppy 5.25 and Parted_Magic,
    controlled by grub4dos, which also detects my HD installed M$ XP and Ubuntu 10.10.
    So, that is five systems boot controlled by grub4dos on the USB flash drive.
    The Computer base is HP, 1Gig Ram, 40 Gig HD, booting from grub2 from Ubuntu,
    for (1) M$, (2) Ubuntu, (3) Parted-Magic, (4) TinyCore (all these installed on the HD).

    Having these two systems working off the same processor, has led to some interaction wherein Tiny(USB) finds Tiny(HD) application files, and that is my current debug/setup project.


    Sounds like you should look into the "bare-bones" approach
    of the TinyCore and MicroCore systems.
    Tiny has a gui, which will make you a believer.
    Micro has a CLI which sound like what you want.
    Either way,
    . . . you just build on the "bare-bones".

    I like Puppy 5.25, at 128 Megabytes of OS core. Great fun.
    I use Ubuntu desktop as my money maker, but it requires 10 times the RAM, etc.

    Google TinyCore, they have a wiki type website, forum, etc.
    Remember, my Opinion has a money-back guarantee !!!

    buena suerte,
    glene77is

  8. #7
    Just Joined!
    Join Date
    May 2011
    Posts
    12
    Hello again glene77is,

    You were right, the functionalities of MicroCore is what i require what I really (I was quite unsure about what i need last time haha) need to do is
    -to remaster microcore by including a copy of the hard drive OS and packages in the ISO
    -create a shell script that will mount a specified hard drive partition on MicroCore
    -and copy the hard drive-specific OS and the packages to the hard drive
    -and run a bootloader (specifically syslinux/extlinux since it is pure command line which makes it suitable to be integrated in the shell script) and make the drive bootable

    I am currently stuck at the fourth step, because I want to set the root drive to the target hard drive (/dev/sda1) but the kernel (or bootloader) is telling me that it can't load root device sda1. I had it already set at the syslinux.cfg (root=/dev/sda1) and did everything what I believe is essential (but obviously not since I get that error message haha)

    Also, whenever I include the ramdisk image, I still can't mound the hard drive (and I also need to mount the ROM drive since I believe it is not practical to place all the installation files on a remastered ramdisk)

    Maybe you can help me again with this

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •