Skip to content

Generate an initrd image for booting into an Xorg display server, with synergy.

License

Notifications You must be signed in to change notification settings

lvecsey/ati-finance-view

Repository files navigation

Assemble an x86_64 boot image for a trading system (multiple screens.)

Uses ATI video driver with sample xorg.conf files.

synergy client, and post-boot transfer of java runtime and trading application
(Interactive Brokers TWS), retrieved from your tftp or web server.

--

Phase I is for the init script to just boot to a /bin/bash prompt

so you can explore the types of network interfaces and video cards that

are present. You would do this with a physically attached keyboard and

run commands like `lspci` and `lspci -v` to see what's up.

--

Phase II has your network drivers loaded and you can ssh into the machine, 

reboot, or shutdown the system remotely.

--

Phase III has your Xorg configuration dialed in and you're ready to run

some applications.

--

So as you can see, if you are dealing with new hardware you will have to

step through carefully from Phase I, potentially spending a lot of time

in Phase I. But as you gain familiarity (and as this software kit improves)

and use identicial or nearly identical hardware for replicating some of

your stations, you'll be able to skip ahead to the other phases when

setting up a machine.

--

PREPARATION

--

create

Start off with enough storage space and then as root run the create script,

to pull in a GNU/Linux system with a base set of libraries. It targets

the directory path specified in the env/bd file and pretty much obliterates

the target, including any custimzations you may have had.

--

inject sshd

The next useful step, is to run the inject-sshd.sh script by first

having your public key file in injections/authorized_keys2

example: cp $HOME/.ssh/id_dsa.pub injections/authorized_keys2

That assumes that you have already run `ssh -keygen -t dsa` or similar

in the personal or service account from which you will be ssh'ing into 

the machine.

--

inject init

The init script is a bit specific to the kernel modules it loads, but

critically the dhclient and sshd server will start if the prior boot phases

have gone well. 

--

inject reboot

this is a tiny tcpsvd style script and daemon that will just listen on a TCP

port for any connections on the local network that might give it a reboot

or shutdown command. Useful for a truly minimal system, and as a backup for

getting the hardware under control. But skip this if the sshd approach

makes more sense for you.

--

inject modules

actually, you need this stage to probably load your network driver.

You won't actually ssh in without it.

Start by defining the right `uname -r` inside of env/uname_r

If it's the same as your current machine, then just: uname -r > env/uname_r

If the vmlinuz image is more recent (from the $release-image-module/boot directory)

then just specify the uname_r for it instead.

The two modules sky2.ko and r8169.ko are included (the latter is for Realtek)

but you may have to edit the top of injections/init to load it and manually.

A pletheora of net drivers are inserted with the inject-modules.sh script but

you have an opportunity to do a minimal injection, if you know your configuration.

This saves boot time and runtime memory, and it's just a good overall thing.

You should also define the env/bd file to include the relative path or absotule

path to your modules area, to copy from. Usually /lib/modules if you have

the same system but if you are using a custom image from debootstrap

in the [maverick]-image-module directory (i.e. you are taking a kernel from there)

then use a path such as maverick-image-module/lib/modules for the inject script to

take the version correct files.

--

inject xorg

go into the injections/ directory and copy one of the xorg config files into

a new descriptive filename. then inside env/xorg_conf specify the pathname

to your specific file.

you basically want to set the machine to boot as Phase II and then ssh in to

continue to test the xorg.conf file. 

If you can ssh in you can run lspci again for the video card PCI BusID,

if you haven't already done so in Phase I. You'll also need your monitor specifications

like horizontal and vertical retrace, and resolution, to tweak a custom xorg config file.

You can even scp in a newly editted xorg.conf, and launch Xorg to try again. (through ssh)

--

populate

This script is just a list of injections you want to use. Mostly you use this when updating to another release
(in the create script) and want to blast a new set of injections into it.

--

Finish by running the remake script to generate in actual initrd.img

To run it, you need to configure that path and name of the output image.

Put it it env/output_img and then run the script.

A good location might be something like: /srv/tftp/initrds/lucid-ati-finance-view.img

--

You'll have to iterate on that last step, running the inject-init.sh and inject-xorg.sh

scripts and remaking, until you get it right.




About

Generate an initrd image for booting into an Xorg display server, with synergy.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages