# Getting started with Crochet



## balanga (Jun 21, 2017)

I've seen numerous references to Crotchet and looked at the Wiki, but haven't come across anything which shows how to get started..  I tried `pkg install crotchet`.. but I'm obviously missing something. What's the first step when starting out with Crotchet?


----------



## acheron (Jun 21, 2017)

What do you want to do with crochet?


----------



## balanga (Jun 21, 2017)

Initially I want to learn how to use it, for example to build FreeBSD for the Raspberry Pi, but eventually, I think it wiil be useful for building a version which will run on a Seagate GoFlex Home system, which is also based on ARM.


----------



## acheron (Jun 21, 2017)

So you need to fetch crochet, it's hosted in github : `git clone https://github.com/freebsd/crochet.git`, then you have to follow the documentation to build an image for your rpi: https://github.com/freebsd/crochet/wiki/How-to-Build-a-Disk-Image
If your GoFlex is not listed in the supported platform you'll have to create a config for your board.


----------



## balanga (Jun 23, 2017)

When creating a config for a new board, I was wondering whether that should be Marvell (or Kirkwood) rather than GoFlex since it would be more generic and applicable to a lot more devices. It seems to me that that there are (or may be) only minor differences between GoFlexHome, GoFlexNet, DockStar,  PogoE02, iConnect, NetgearStora, PogoV4/Mobile, Sheevaplug, NSA325, NSA320, NSA310S, NSA320S, NSA310, HP T5325.

I don't know anything about of the other devices, just reading between the lines and guessing... 

http://forum.doozan.com/read.php?3,12381


----------



## Phishfry (Jun 24, 2017)

In my opinion Crochet is only useful for newbies like me that can't manage to crosscompile an image by hand.

If you really plan on building for your GoFlex then you need to learn the hard way.
There is no crochet crutch. Once you master building DB-88F6XXX kernel and booting it -then you can make a crochet file.
After all it is simply a build script. It uses strategy scripts for common disk arrangements.

You really need to get it booting by hand and then automate. There is no easy route.

You only need kernel.bin on the root partition to boot kernel for test runs. Plus your loader and uboot files.


----------



## Phishfry (Jun 24, 2017)

So the first thing you need to do is familiarize yourself with the kernconf for your build.
/usr/src/sys/arm/conf/DB-88F6XXX
Here it shows the 2 booting options you have
NFSv3 via dhcp/bootp or USB

You have heard from Dizzy that usb may be problematic on Arm5.
You need to consider that.
Making a USB to test is not terribly hard.
May need to uncomment this line in the kernconf to try:
`#options    ROOTDEVNAME=\"ufs:/dev/da0a\"`


----------

